konto usunięte

Temat: Ignorowanie pustych pol przy tworzenie recordsetu

Wiem ze to pytanie ma duzy zwiazek także z bazami danych, ale calosc dotyczy raczej php..
Na stronie szukaj.php jest formularz z ktorego pobierana jest zmienna (np. data) i wrzucana na kolejna strone ktora tworzy Record Set (RS) z zapytania:

$query_rsDyzury = "SELECT data_dyzuru, zmiana_podjeta, zmiana_zauwazona, fk_pracownicy_pracownikID, nazwisko, imie FROM dyzury JOIN pracownicy on dyzury.fk_pracownicy_pracownikID = pracownicy.pracownikID WHERE data_dyzuru >='{$szukanadata}' LIMIT $offset, $rzedyNaStrone";

Ale teraz chciałbym mieć możliwość wyboru kolejnego kryterium szukania (takze na szukaj.php w tej SAMEJ formie), np nazwiska.
W $_GET sa przekazywane juz wtedy dwie wartosci (nazwisko i data) i jesr tworzny RS z:

$query_rsDyzury = "SELECT data_dyzuru, zmiana_podjeta, zmiana_zauwazona, fk_pracownicy_pracownikID, nazwisko, imie FROM dyzury JOIN pracownicy on dyzury.fk_pracownicy_pracownikID = pracownicy.pracownikID WHERE data_dyzuru >='{$szukanadata}' AND dyzury.fk_pracownicy_pracownikID ='{$pracownik}' LIMIT $offset, $rzedyNaStrone";

Wszystko fajnie chodzi dopoki nie zostawie jednego z pol (daty lub pracownika) pustej. Wtedy naturalnie jeden z warunków dla AND nie zostaje spelniony i RS jest pusty.

Jak mozna zrobic zeby nawet jezeli jedna z pol wyboru jest pusta, to bedzie ona ignorowana, a RS bedzie stworzny na podstawie tej drugiej wartosci? Oczywiscie, a jezeli beda podane obydwie to wtedy wszystkie warunki dla RS są spełnione.Dawid Karel edytował(a) ten post dnia 23.05.08 o godzinie 23:54
Wojciech Sznapka

Wojciech Sznapka CTO @ STS Zakłady
Bukmacherskie

Temat: Ignorowanie pustych pol przy tworzenie recordsetu

$query_rsDyzury = "
SELECT data_dyzuru, zmiana_podjeta, zmiana_zauwazona, fk_pracownicy_pracownikID, nazwisko, imie
FROM dyzury JOIN pracownicy on dyzury.fk_pracownicy_pracownikID = pracownicy.pracownikID
WHERE 1 " . (($d= $szukanadata) ? " AND data_dyzuru >='$d'" : "" ) . (( $p = $pracownik ) ? " AND dyzury.fk_pracownicy_pracownikID ='$p'" : "" ) . " LIMIT $offset, $rzedyNaStrone"

konto usunięte

Temat: Ignorowanie pustych pol przy tworzenie recordsetu

Wojciech Sznapka:
$query_rsDyzury = "
SELECT data_dyzuru, zmiana_podjeta, zmiana_zauwazona, fk_pracownicy_pracownikID, nazwisko, imie
FROM dyzury JOIN pracownicy on dyzury.fk_pracownicy_pracownikID = pracownicy.pracownikID
WHERE 1 " . (($d= $szukanadata) ? " AND data_dyzuru >='$d'" : "" ) . (( $p = $pracownik ) ? " AND dyzury.fk_pracownicy_pracownikID ='$p'" : "" ) . " LIMIT $offset, $rzedyNaStrone"

Dziekuje bardzo, chodzi :)



Wyślij zaproszenie do