Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Działania na wyniku zapytań SQL
Forum PHP.pl > Forum > Przedszkole
tomasz23
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ć?
Turson
Cytat
Da się tak zrobić?

Dlaczego najpierw nie sprawdziłeś? Przecież komputer ci nie wybuchnie
tomasz23
Bo nie wiem jak?
markuz
Chcesz zrobić stronicowanie wyników wyszukiwania - tak?
tomasz23
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.  
nospor
$sql = "SELECT * FROM tektura WHERE DLUGOSC_MM > $dl AND SZEROKOSC_MM > $szerok AND TYP = '$typ' AND KOLOR = '$kolor'";

//blabla

$sql.=' and DL*SZER > 1000';
tomasz23
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
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.