Autor | Zpráva | ||
---|---|---|---|
majosk Profil * |
#1 · Zasláno: 9. 5. 2009, 20:43:04
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 |
#2 · Zasláno: 9. 5. 2009, 20:46:26 · Upravil/a: Akacko
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 * |
#3 · Zasláno: 9. 5. 2009, 20:51:00
Ďakujem, dosť jednoduché ale účinné. A s diakritikou je to ako?
|
||
Akacko Profil |
#4 · Zasláno: 9. 5. 2009, 20:55:51 · Upravil/a: Akacko
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 * |
#5 · Zasláno: 10. 5. 2009, 09:22:03
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 * |
#6 · Zasláno: 10. 5. 2009, 14:26:42
Ďakujem ešte raz. Diakritiku som nakoniec vyriešil duplicitným záznamom v DB (jeden s a druhý bez diakritiky).
|
||
fuckin Profil * |
#7 · Zasláno: 10. 5. 2009, 18:46:04
duvod? Lze to tak jednoduse a ty zvolis tu nejblbsi cestu...
|
||
bohyn Profil |
#8 · Zasláno: 11. 5. 2009, 18:15:46 · Upravil/a: bohyn
majosk
Pokud sloupcum nastavis colate na utf8_general_ci tak to bude hledat nezavisle na velikosti pismen i diakritice. |
||
Časová prodleva: 15 let
|
0