Autor | Zpráva | ||
---|---|---|---|
jakubk0c Profil |
Dobrý den, měl bych na Vás prosbu zda by jste mi pomohli s jedním problémem.
Potřebuju udělat příkaz: SELECT * FROM adresa_db WHERE ? Kde v DB je ve sloupci adresa_db uložená hodnota : Praha, Václavské náměstí 1024 nebo jaká koliv jiná adresa. A já bych potřeboval, když uživatel zadá třeba „Praha“ nebo „Václavské náměstí“ nebo „Vaclavske namesti“ aby to našlo hodnotu výše v DB (Praha, Václavské náměstí 1024) a provedl se SELECT. Předem moc děkuji za Vaší pomoc. |
||
Ikki Profil |
SELECT * FROM adresa_db WHERE x like %?% |
||
jakubk0c Profil |
#3 · Zasláno: 29. 11. 2018, 08:39:41
Ikki:
To vážně bude platit pro všechny případy? |
||
Ikki Profil |
%hodnota% vyhledává všechno co obsahuje danou část, tedy příkladem může být:
Záznam: Praha, Náměstí 1 Vyhledáno: Pra Shoda je tedy v obou případech "Pra" a tak se získá záznam, nebo více záznamů obsahující danou shodu. |
||
Kajman Profil |
jakubk0c:
„To vážně bude platit pro všechny případy?“ Nebude. Největší problém je hledání bez diakritiky. To se v mysql často řeší druhým sloupcem, kde je již diakritika odstraněná. Tedy v tabulce bude sloupec i hodnotou Praha, Václavské náměstí 1024 praha, vaclavske namesti 1024 Při hledání se pak stejně odebere diakritika z hledaného výrazu a příkaz pak bude např. select * from `tabulka` where `sloupec_bez_diakritiky` like '%vaclavske namesti%' |
||
jakubk0c Profil |
#6 · Zasláno: 29. 11. 2018, 11:03:45
Kajman:
Jo todle mě nenapdalo to by bylo super. A když třeba dá uživatel do vyhledávače: Náměstí najde to taky nebo Václavské atd.? Jestli jo, tak to řeší přesně můj problém. |
||
Ikki Profil |
#7 · Zasláno: 29. 11. 2018, 11:09:37
V případě %% to najde cokoli, co má něco společného. Pokud budeš mít záznam "vaclavske namesti" a "pepovo namesti", tak v případě, že bude dotyčný vyhledávat "namesti", tak se vyhledají oba zmíněné záznamy.
|
||
jakubk0c Profil |
#8 · Zasláno: 29. 11. 2018, 11:15:32
Ikki:
Skvěle děkuju moc vyzkouším :-). |
||
Časová prodleva: 5 let
|
0