ugrás a tartalomhoz

mysql keresés formból

rob · 2003. Feb. 11. (K), 11.54
Sziasztok!

Azért hoztam létre ezt az új témát, mert van egy problémám, amire lehet hogy valaki tud válaszolni, és leht hogy másoknak is hasznára lesz.
Mysql ben szeretnék keresni egy formból küldött szavak-at.
erre ugye létezik a like:

select * from bla where szoveg like '%$keres%'

csak ezzel az a problémám, hogy ha több szót írnak be a formba, akkor ez már nem jó. mert csak akkor ad vissza eredményt, ha a szavak egymás mellett állnak...
Valaki tudna tanácsot adni ebben a témában? Hogyan tudnék több szóra is hatékonyan rákeresni?
Előre is köszi mindenkinek!
 
1

Re: mysql keresés formból

Granc Róbert · 2003. Feb. 12. (Sze), 01.04
Hát ezt szerintem php-ből kell lekezelned. Amúgy sem illik szűretlenül küldeni be a form eredményét az adatbázisba, tehát a szűrés mellett eressz rá egy splitet a szóköz karakterek alapján, nézd meg hogy hány elemű a kapott tömb, és ha egynél nagyobb, akkor módosítsd annak megfelelően az sql lekérdezést.
Nem?

Robi
2

Re: mysql keresés formból

rob · 2003. Feb. 12. (Sze), 06.34
Nos..
Először próbálkoztam:

$sz1 = str_replace(" ", ",", "$ezkell");
$tomb = explode(",","$sz1");
for ($i=0;$i<count($tomb);$i++) { ... }
Rájöttem, hogy így nem fogom tudni megcsinálni...

utánna (jelenleg így megy):

$sz1 = str_replace(" ", ",", "$ezkell");
$tomb = explode(",","$sz1");
$i=count($tomb);

switch($i){
case 2:
$ker = ("SELECT * FROM bla where ((blabla like '%$tomb[0]%') or (blabla like '%$tomb[1]%'))
break;

case 3:
$ker = ("SELECT * FROM bla where ((blabla like '%$tomb[0]%') or (blabla like...

default:
$ker = ("SELECT * FROM bla where (blabla like '%$tomb[0]%'))
...

Namost ez így műxik, de eszméletlenül ocsmány megoldásnak tartom, és egyszerűen nem sikerál másképp megoldani...
Ezért fordultam ehhez a fórumhoz...

Ennek a függvényében valami megoldás?
3

spacek mellőzése

pete21 · 2008. Okt. 17. (P), 02.35
sziasztok az lenne a problémám hogy egy formból bekért adatokra keresnék rá és a where name like '%name%' -ra (meg még van pár keresési feltétel or-al elválasztva) ha nem írok be semmit akkor kihozza az összeset amiben van pl space és nem igazán értem hogy miért. Valaki tudna valami kis segítséget adni? Előre is köszi