Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SQL][PHP]Listowanie po fragmencie frazy
Forum PHP.pl > Forum > Przedszkole
lukasgro
Witam,

mam taki problem, gdy listuje rekordy podając dokładną frazę wszystko jest OK, potrzebuję listowanie po fragmencie frazy i tu pojawia się problem.
  1. $zapytanie0 = "SELECT *
  2. FROM `zamowienia`
  3. WHERE `Produkt` LIKE '$produkt'
  4. OR `Szerokosc` LIKE '$szerokosc'
  5. OR `Wysokosc` LIKE '$wysokosc'
  6. OR `Material` LIKE '$material'
  7. OR `NrZlecenia` LIKE '$nrzlecenia'
  8. OR `Uwagi` LIKE '$uwagi'
  9. OR `Market` LIKE '$market'
  10. OR `Status` LIKE '$status'
  11. OR `Wyslano` LIKE '$wyslano'
  12. OR `Zlozenie` LIKE '$datazlozenia'
  13. OR `Wysylka` LIKE '$datawysylki' ORDER BY `NrZlecenia`";
  14. $idzapytania0 = mysql_query($zapytanie0) or die (mysql_error());
  15.  
  16. ...
  17.  
  18. do {
  19.  
  20. $wiersz = mysql_fetch_array($idzapytania0);
  21.  
  22. $Produkt = $wiersz['Produkt'];
  23. $Market = $wiersz['Market'];
  24. $Material = $wiersz['Material'];
  25. $id = $wiersz['NrZlecenia'];
  26. $Szerokosc = $wiersz['Szerokosc'];
  27. $Wysokosc = $wiersz['Wysokosc'];
  28. $Uwagi = $wiersz['Uwagi'];
  29. $Status = $wiersz['Status'];
  30. $Zlozono = $wiersz['Zlozenie'];
  31. $Termin = $wiersz['Wysylka'];
  32. $Wyslano = $wiersz['Wyslano'];
  33.  
  34.  
  35. $i++;
  36.  
  37. if ($id != NULL) { echo "
  38. <table><tr><td width=\"80\">$id</td><td width=\"120\">".$Produkt."</td><td width=\"35\">".$Szerokosc."</td><td width=\"35\">".$Wysokosc."</td><td width=\"80\">".$Material."</td><td width=\"140\">".$Uwagi."</td><td width=\"40\">".$Status."</td><td width=\"100\">".$Market."</td><td width=\"80\">".$Zlozono."</td><td width=\"80\">".$Termin."</td><td width=\"80\">".$Wyslano."</td><td><a href=\"?action=actiondelete&id=$id\">usuń</a></tr></table>";
  39. }
  40.  
  41. } while($id != NULL);
  42.  
  43.  
  44. }

Dane do zapytania wklejam jako pobierane zmienne.
Przykładowo: mam produkt "zegar", jak wpiszę w wyszukiwaniu "zegar" wszystko jest OK, gdy wpiszę "zega" - nie wyświetla nic.
UWAGA exclamation.gif OPCJA w zapytaniu
  1. WHERE `Produkt` LIKE '$produkt*'
NIE DZIAŁA. Pomoże ktoś ?
nospor
http://dev.mysql.com/doc/refman/5.0/en/pattern-matching.html
I poczytaj trochę o LIKE co się tam uzywa, czego się tam nie uzywa.
lukasgro
Wszystko jasne. Dziękuję.

Kolejne pytanie..

jak uzyskać listowanie w przypadku wpisywania czegoś takiego
  1. OR `Szerokosc` LIKE '%$szerokosc%'

aby listował rekord z co najmniej dwoma znakami.
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.