Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [SQL][PHP]Listowanie po fragmencie frazy, wyszukiwanie rekordów po frazie
lukasgro
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 27.07.2011

Ostrzeżenie: (0%)
-----


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ś ?
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
lukasgro
post
Post #3





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 27.07.2011

Ostrzeżenie: (0%)
-----


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

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 Aktualny czas: 22.08.2025 - 07:11