Keresőmező készítése PHP-MYSQL
Sziasztok
A saját lapunkra készítettem egy keresőmezőt valahogy így.
.
.
.
<form method=post>
<td width='200' align=left><input type=text name='keresendo' value='$keresendo' size=60><br>
</form>
.
.
<table .............>";
include"sql.php";
$res = mysql_query("SELECT * FROM termek WHERE keresoszavak LIKE '%$keresendo%' AND allapot='' ORDER BY tip");
if (mysql_num_rows($res) != 0) {
for($i=0; $i<mysql_num_rows($res); $i++) {
......
Szóval az a gondom ha egy szót írok a keresőmezőbe ( pl. lapát ) akkor listázza a lapátokat és minden OK.
De ha az írom be, hogy műgyag lapát akkor nincs a keresésnek eredménye, kivéve ha úgy szerepel a mezőbe, hogy műanyag lapát. Viszont nem ártana ha közte van még egy szó pl. piros akkor a műanyag lapátra a műanyag piros lapátot is megtalálja.
Előre is köszi a segítséget.
■ A saját lapunkra készítettem egy keresőmezőt valahogy így.
.
.
.
<form method=post>
<td width='200' align=left><input type=text name='keresendo' value='$keresendo' size=60><br>
</form>
.
.
<table .............>";
include"sql.php";
$res = mysql_query("SELECT * FROM termek WHERE keresoszavak LIKE '%$keresendo%' AND allapot='' ORDER BY tip");
if (mysql_num_rows($res) != 0) {
for($i=0; $i<mysql_num_rows($res); $i++) {
......
Szóval az a gondom ha egy szót írok a keresőmezőbe ( pl. lapát ) akkor listázza a lapátokat és minden OK.
De ha az írom be, hogy műgyag lapát akkor nincs a keresésnek eredménye, kivéve ha úgy szerepel a mezőbe, hogy műanyag lapát. Viszont nem ártana ha közte van még egy szó pl. piros akkor a műanyag lapátra a műanyag piros lapátot is megtalálja.
Előre is köszi a segítséget.
Kereses szavakra
És vagy a keresett kifejezés szavai közzé teszel egy "%" jelet,vagyis "WHERE keresoszavak LIKE '%$keresendo[0]%$keresendo[1]%...',vagy,-ami célszerübb
Vagy valami ilyesmi...
Próba
Kipróbálom és jelzem.
Or And
Én ha az OR-t AND-re cserélem, akkor nem működik. Viszont nekem az kéne, hogy csak azt a találatot hozza ki, amelyikben mindegyik szó szerepel. Tudnátok ebben segíteni?
Előre is köszönöm!
Kód?
Tipp1: nem
foreach
ciklusban csináltad.Tipp2: a végéről nem jól törölted a felesleges AND-et.
SZERK: Figyelj Janoszen intelmeire is! Biztonság terén olvass frissebb cikkeket is!
Köszönöm
Köszönöm a segítséget, a Tipp2-es ötleted volt a nyerő. :-)
Szívesen
Escape, escape, escape
ON: Egyébként szóköz mentén szétbontod a szavakat és mint Ronyn javasolta, szétbontandóak a kereső kifejezések. Sajnos a Te esetedben, ha csak az van fölvíve hogy lapát, és műanyag lapátra keres AND-del, akkor ez sem fog segíteni. OR-ral meg nem igazán a megszokott működést adja a kereső. Javaslom, hogy ismerkedj meg a cimkézés intézményével, illetve keress rá az ajax autocomplete kifejezésre a Google-ban, hogy egyszerűsítsd a felhasználó dolgát.
Hát akkor olvasok :)
Köszönöm