Autor Zpráva
web2000
Profil *
Mám takový to problém:

hledané slovo: dvd se uloži do proměnné $hledej a pomocí následujícího dotazu se toto slovo vyhledá

$sql = "SELECT * FROM zaznam WHERE popis LIKE '$hledej'";

jenže to funguje jen když mám v řádku popis voženo jen slovo dvd pokud je tam více slov např. kolo, dvd
vyhledávání nefunguje.

Potřeboval bych zajistit aby dotaz zohledňoval tu čárku mezi slovy a porovnával proměnou $hledej s jednotlivými slovy nikoliv s celým záznamem. Děkuji za případnou radu.
Peca
Profil
...LIKE '%$hledej%'";
ph@tE
Profil *
SELECT * FROM zaznam WHERE popis LIKE '%$hledej%' - vyhledává ale i pokud je výraz pouze součástí nějakého slova (např. na had nalezne i hard)

SELECT * FROM zaznam WHERE popis REGEXP [ ]*$hledej[ ,?!.]*' - to by mělo vyhledávat pouze celá slova (předpokládám, že slovo je ohraničeno z leva mezerou a z prava mezerou, čárkou, ?, ! nebo tečkou.
djlj
Profil
např. na had nalezne i hard
Tak to určitě ne ;).
ph@tE
Profil *
Chybička, chtěl jsem napsat hadr:-)
web2000
Profil *
Záznamy mám oddělené čárkou, tedy jednotlivá slova v záznamu, ale ztohoto záápisu popis REGEXP [ ]*$hledej[ ,?!.]*' zřejmě je to nějaký výtažek ze syntaxe ten dotaz dohromady nemám.

mám tedy WHERE popis LIKE '$hledej' "; - kam mám doplnit ty znaky, ktéré zajistí vyhledávání dle slov, díky moc.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0