function szukaj() { If (!$this->imie && !$this->nazwisko) { } else { $wynikWyszukiwania = $this->pdo->query("SELECT imie, nazwisko FROM autorzy WHERE imie LIKE '%".$this->imie."%' OR nazwisko LIKE '%".$this->nazwisko."%'"); foreach($wynikWyszukiwania as $row) { } $wynikWyszukiwania -> closeCursor(); }
Otóż problem polega na tym ,że wpisując w input (w formularzu sa dwa takie inputy) szukaną frazę za każdym razem bez znaczenia co wpiszę ,wyswietla mi wszystkie rekordy jakie znajdują się w bazie danych.
Docelowo chciał bym wyszukiwac rekordy w oparciu o input "imie" i input "nazwisko". Dla przykładu wpisuje jakieś imię do jednego inputa lub nazwisko do drugiego inputa albo oba na raz i wyszukuje rekordy spelniające kryteria.
Przypuszczam ,że błąd leży w samym zapytaniu, ponieważ gdy wygląda ono tak (bez operatora "OR" i zmiennej $nazwisko):
"SELECT imie, nazwisko FROM autorzy WHERE imie LIKE '%".$this->imie."%'"
Input imię działa poprawnie, tzn. prawidłowo wyszukuje rekordy.
Jeśli niejasno się wyraziłem proszę mi to wytknąć ,postaram się napisać jaśniej. Proszę również o wyrozumiałość bo w temacie php jeszcze raczkuje.