Autor | Zpráva | ||
---|---|---|---|
web2000 Profil * |
#1 · Zasláno: 10. 5. 2007, 18:00:41
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 |
#2 · Zasláno: 10. 5. 2007, 18:06:46
...LIKE '%$hledej%'";
|
||
ph@tE Profil * |
#3 · Zasláno: 10. 5. 2007, 18:07:24
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 |
#4 · Zasláno: 10. 5. 2007, 18:27:07
např. na had nalezne i hard
Tak to určitě ne ;). |
||
ph@tE Profil * |
#5 · Zasláno: 10. 5. 2007, 20:13:18
Chybička, chtěl jsem napsat hadr:-)
|
||
web2000 Profil * |
#6 · Zasláno: 10. 5. 2007, 20:49:58
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. |
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0