Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Działania na wyniku zapytań SQL
tomasz23
post
Post #1





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 27.12.2012

Ostrzeżenie: (0%)
-----


Witam,
Zastanawiam się czy jest możliwe (i jeżeli tak to w jaki sposócool.gif działania SQL na wyniku zapytań przechowywanej w zmiennej. Dokładniej rzecz ujmując dąże do czegoś takiego:
Mam prosty formularz wyszukiwania. Użytkownik wpisuje tam dane, klika Szukaj, po stronie PHP do zmiennej wchodzi polecenie SQL
  1. $sql1 = "SELECT * FROM tektura WHERE DLUGOSC_MM > $dl AND SZEROKOSC_MM > $szerok AND TYP = '$typ' AND KOLOR = '$kolor'";

Rezultat zapytania wypełnia zmienną $rs1, a w zmiennej $num1 jest wyliczona liczba znalezionych rekordów.
  1. $rs1 = mysql_query( $sql1 ) or die('Database Error: ' . mysql_error());
  2. $num1 = mysql_num_rows( $rs1 );


I tutaj się pojawia moje pytanie. Chciałbym gdy
  1. if ($num1 >= 1)
dalej operować w pewien sposób na tej zmiennej $rs1. To znaczy np. wybrać te rekordy z bazy w których pole równa się ileś tam (oczywiście chodzi o to by wszystkie wcześniejsze argumenty (te z $sql1) nadal istniały). Da się tak zrobić?
Go to the top of the page
+Quote Post
Turson
post
Post #2





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

Ostrzeżenie: (0%)
-----


Cytat
Da się tak zrobić?

Dlaczego najpierw nie sprawdziłeś? Przecież komputer ci nie wybuchnie
Go to the top of the page
+Quote Post
tomasz23
post
Post #3





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 27.12.2012

Ostrzeżenie: (0%)
-----


Bo nie wiem jak?
Go to the top of the page
+Quote Post
markuz
post
Post #4





Grupa: Zarejestrowani
Postów: 1 240
Pomógł: 278
Dołączył: 11.03.2008

Ostrzeżenie: (0%)
-----


Chcesz zrobić stronicowanie wyników wyszukiwania - tak?


--------------------
Go to the top of the page
+Quote Post
tomasz23
post
Post #5





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 27.12.2012

Ostrzeżenie: (0%)
-----


Cytat(markuz @ 20.03.2014, 12:48:12 ) *
Chcesz zrobić stronicowanie wyników wyszukiwania - tak?

Nie...
Chcę zrobić takie coś że zamiast wpisywać zapytanie do jednej zmiennej :
  1. "$sql =SELECT * FROM tektura WHERE DLUGOSC_MM > $dl AND SZEROKOSC_MM > $szerok AND TYP = '$typ' AND KOLOR = '$kolor' AND DLUGOSC_MM*SZEROKOSC_MM>'1000''"

Zrobić:
  1. $sql = "SELECT * FROM tektura WHERE DLUGOSC_MM > $dl AND SZEROKOSC_MM > $szerok AND TYP = '$typ' AND KOLOR = '$kolor'";
  2. $rs1 = mysql_query( $sql1 ) or die('Database Error: ' . mysql_error());
  3. $num1 = mysql_num_rows( $rs1 );
  4.  
  5. if ($num1 >= 1)
  6. {
  7. $sql2 = polecenie w którym będzie wyszukiwanie rekordów z polami (DL*SZER) większymi od 1000, jednocześnie zgadzające się z poprzednimi warunkami (DLUGOSC> $dl itd.)
  8.  
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




$sql = "SELECT * FROM tektura WHERE DLUGOSC_MM > $dl AND SZEROKOSC_MM > $szerok AND TYP = '$typ' AND KOLOR = '$kolor'";

//blabla

$sql.=' and DL*SZER > 1000';


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
tomasz23
post
Post #7





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 27.12.2012

Ostrzeżenie: (0%)
-----


Cytat(nospor @ 20.03.2014, 13:00:24 ) *
$sql = "SELECT * FROM tektura WHERE DLUGOSC_MM > $dl AND SZEROKOSC_MM > $szerok AND TYP = '$typ' AND KOLOR = '$kolor'";

//blabla

$sql.=' and DL*SZER > 1000';

Działa! Wielkie dzięki! smile.gif
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 05:05