Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Wyszukiwarka rekordów z dwoch inputów
-RAV_8-
post 30.12.2011, 16:00:33
Post #1





Goście







Zacznę od listingu:
  1. function szukaj()
  2. {
  3. $this->nazwisko=trim($_POST['nazwisko']);
  4. $this->imie=trim($_POST['imie']);
  5. If (!$this->imie && !$this->nazwisko)
  6. {
  7. echo "Brak parametrów wyszukiwania";
  8. }
  9. else
  10. {
  11.  
  12. $wynikWyszukiwania = $this->pdo->query("SELECT imie, nazwisko FROM autorzy WHERE imie LIKE '%".$this->imie."%' OR nazwisko LIKE '%".$this->nazwisko."%'");
  13. foreach($wynikWyszukiwania as $row)
  14. {
  15. echo $row['imie'];
  16. echo $row['nazwisko'];
  17. }
  18. $wynikWyszukiwania -> closeCursor();
  19. }


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):
  1. "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.
Go to the top of the page
+Quote Post

Posty w temacie


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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 00:18