Autor Zpráva
honzisko
Profil
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
[#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
honzisko:
Jak rozdělit výsledek po jednotlivých slovech?
http://php.net/manual/en/function.explode.php
Tori
Profil
honzisko:
Neptal jste se na totéž už tady: Porovnávání části udajů v databázi?
honzisko
Profil
[#4] Medvídek
Díky mrknu na to :-)

[#5] Tori
Já ne, ale kamarád ano. Právě teď ten script u něj řešíme tak to může vypadat divně.
Silver8000
Profil
kazdopadne je to :

$vysledek = explode(' ',$hledany_vyraz);

// $vysledek[0] by mel byt mydlo aby jsi mohl vybrat i ty ruzne barvy
print_r($vysledek);

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: