Autor | Zpráva | ||
---|---|---|---|
honzisko Profil |
#1 · Zasláno: 26. 4. 2013, 20:03:27
Zdravím, rád bych se zeptal jak se dá řešit vyhledávání podobných výrazů? Nyní provádním vyhledavání přes LIKE = ... Ale LIKE není schopné vyhledávat podobné výrazy - uvedu na příkladu:
Uživatel hledá růžové mýdlo. Pokud použiji v selektování LIKE tak uživatel dostane pouze růžové mýdlo. Pokud uživatel zadá Mýdlo - vyjedou veškeré záznamy, které obsahují mýdlo. Já bych ale potřeboval poradit jak vypsat při zadání růžové mýdlo i další mýdla ( žluté,modré ...) Mnohokrát děkuji. H. |
||
midlan Profil |
Dát do where like na celý výraz a pak or like pro každé slovo samostatně, výsledek seřadit podle like na první výraz, další řazení už je na tobě.
EDIT: pro názornost uvádím příklad SELECT * FROM zaznamy WHERE titulek LIKE 'růžové mýdlo' OR titulek LIKE 'růžové' OR titulek LIKE 'mýdlo' ORDER BY titulek LIKE 'růžové mýdlo'; imho tohle patří spíš do databází |
||
honzisko Profil |
#3 · Zasláno: 26. 4. 2013, 20:31:30
[#2] midlan
ale jak to udělat v případě že výsledek hledání je např. v $hledano ? tzn že $hledano = 'růžové mýdlo'. Jak rozdělit výsledek po jednotlivých slovech? |
||
Medvídek Profil |
#4 · Zasláno: 26. 4. 2013, 20:45:42
honzisko:
„Jak rozdělit výsledek po jednotlivých slovech?“ http://php.net/manual/en/function.explode.php |
||
Tori Profil |
#5 · Zasláno: 26. 4. 2013, 21:13:47
honzisko:
Neptal jste se na totéž už tady: Porovnávání části udajů v databázi? |
||
honzisko Profil |
#6 · Zasláno: 27. 4. 2013, 00:09:07
|
||
Silver8000 Profil |
#7 · Zasláno: 27. 4. 2013, 03:00:57
kazdopadne je to :
$vysledek = explode(' ',$hledany_vyraz); // $vysledek[0] by mel byt mydlo aby jsi mohl vybrat i ty ruzne barvy print_r($vysledek); |
||
Časová prodleva: 11 let
|
0