Autor Zpráva
majosk
Profil *
V databáze mám napísané napríklad:
"Veľký MODRÝ dom"
Vyhľadávam pomocou SELECT * FROM tabulka WHERE nazov LIKE '%$hladany_text%'

Ak zadám do poľa pre hľadanie presne ten istý text (aj tie isté veľké a malé písmená, diakritiku) tak operátor LIKE to v pohode nájde.
Problém nastane ak chcem nájsť "veľký modrý dom", "velky modry dom", "modrý dom", .... V tedy nenájde nič. Neviete ako na to?

Ďakujem
Akacko
Profil
Vše převedeš na malé pismena např.
SELECT * FROM tabulka WHERE LOWER(nazov) LIKE LOWER('%$hladany_text%') 


edit: diakritiku nevím jak řešit pomocí SQL, to budeš muset asi pomocí PHP, nebo si přečti tento článek
majosk
Profil *
Ďakujem, dosť jednoduché ale účinné. A s diakritikou je to ako?
Akacko
Profil
No ještě jsem něco našel... Přímo pro vyhledávání s i bez diakritiky. článek na php.vrana.cz
fuckin
Profil *
a za ten prikaz jak psal akacko jeste napis

COLLATE utf8_general_ci


utf8 czech se pouziva casto diky lepsimu porovnavani, general zase kvuli hledani,u neho je č a c totez
majosk
Profil *
Ďakujem ešte raz. Diakritiku som nakoniec vyriešil duplicitným záznamom v DB (jeden s a druhý bez diakritiky).
fuckin
Profil *
duvod? Lze to tak jednoduse a ty zvolis tu nejblbsi cestu...
bohyn
Profil
majosk
Pokud sloupcum nastavis colate na utf8_general_ci tak to bude hledat nezavisle na velikosti pismen i diakritice.

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: