Autor Zpráva
Václav Bartoš
Profil *
Dobrý den,

na stránce http://psc.unas.cz využívám vyhledávání, které většinou zadané slovo vezme a vloží do mysql jako LIKE '%slovo%' a hledá se třeba podle názvu obce, psč či názvu pošty.

Problém nastává ve chvíli, kdy člověk hledá třeba "Frydek Mistek" nebo "Frýdek - Místek", příkaz v db nic nenajde. V db je totiž uvedeno "Frýdek-Místek" a dotaz hledá doslovně a s diakritikou. Jak udělat možnost hledání v db s diakritikou, když člověk zadá do formu výraz bez diakritiky?

Stránky jsou v php.

Vašek
kajaman
Profil
Fulltext
peta
Profil
Václav Bartoš
diakritiku resi spravne kodovani databaze, general_ci znamena, ze diakritiku neresi.

Podtrzitko resi php ereg_replace vsechny znaky jine nez \w, cili \W+ nahrad za %. Plus pro opakovani 1 ci vice.
pak ti to sice najde i frydek-jasenicky-mistek, ale to je detail.

'\W+' za '-'. Coz vyresi problem s minuskem, ale zas vse musi byt s minus.

Idealne kvuli frydku mistku prodat specialni vyraz :)
Treba to ale nekdo vyresil lepe, pockej...

A nebo prejdi na fulltext vyhledavani.

Jinak prosimte omez vyhledavani na min 2-3 znaky, aby jsi nezatezoval databazi nesmysly typu vsechna mesta na P = praha-1 praha-2, ... prerov, prelouc, pardubice, prachatice, ... (viz ceska posta)

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: