| | |
| Stránka: 1 z 1
| [ Príspevkov: 16 ] | |
Autor | Správa |
---|
Registrovaný: 07.08.06 Prihlásený: 18.11.21 Príspevky: 947 Témy: 268 Bydlisko: Levice |
mam jednoduchy vyhladavac, ktory po zadani slova uzivatelom do INPUT hlada dane slovo v databaze. Napr. Kód: $hladat=mysql_query("SELECT * FROM clanky WHERE nazov like '%".$slovo."%'"); Chcel by som, aby pri vyhladavani nerozlisoval male a velke pismena. Totiz teraz ak dam hladat napr. "slovo", a v databaze najde "Slovo", tak to nezobrazi ako vysledok hladania, lebo je tam velke S. Da sa to nejako? diky.
|
|
Registrovaný: 07.03.06 Prihlásený: 23.01.11 Príspevky: 404 Témy: 2 Bydlisko: Prešov / Pr... | Napísal mylan: 07.11.2007 23:21 | |
|
Akú znakovú sadu používaš v danom stĺpci v DB? Na to aby ti nerozlišovalo malé písmená musí znaková sada končiť na "_ci", napríklad teda "utf8_general_ci". ak končí na "_cs", tak rozlišuje veľké a malé písmená.
CS = case sensitive
CI = case insensitive
|
|
Registrovaný: 07.08.06 Prihlásený: 18.11.21 Príspevky: 947 Témy: 268 Bydlisko: Levice | Napísal autor témy neopagan: 08.11.2007 7:29 | |
|
Aha, to som nevedel. Nastavil som, funguje ! dakujem.
|
|
Registrovaný: 29.10.07 Prihlásený: 27.10.23 Príspevky: 1395 Témy: 30 Bydlisko: Bratislava |
pripadne ine riesenie:
$hladat=mysql_query("SELECT * FROM clanky WHERE UPPER(nazov) like '%".strtoupper($slovo)."%'");
_________________ PC: OS: Windows 11 (64bit) CPU: AMD Ryzen 5 3600 GPU: ASUS TUF RTX3060Ti 8GB RAM: 16GB DDR4-3200MHz Kingston Fury MB: ASUS TUF Gaming B550M WIFI SSD: 1000GB PCIe M.2 NVME Mobil: Xiaomi POCO F2 PRO |
|
Registrovaný: 07.08.06 Prihlásený: 18.11.21 Príspevky: 947 Témy: 268 Bydlisko: Levice | Napísal autor témy neopagan: 22.01.2008 15:15 | |
|
diky, no a potreboval by som este, aby pri hladani ignorovalo diakritiku... teda ak uzivatel zada hladat napr. slovo článok, aby našlo aj to kde je clanok. Da sa to nejako?
|
|
Registrovaný: 26.07.06 Prihlásený: 20.03.16 Príspevky: 1378 Témy: 90 Bydlisko: Slovakia-Ko... | Napísal kmsa: 22.01.2008 18:25 | |
|
skor by si potreboval nieco obojstranne napr da clanok tak hlada aj članok ale aj naopak
_________________ CPU: Intel E7200 momentalne default + freezer 7 pro | MB: Gigabyte GA-P35-DS3 rev. 2.0 F14 | RAM: A-DATA 4x1GB EE Vitesta | VGA: ATI Radeon HD4850 Sapphire Dual Slot | Monitor: BenQ E2200HD+17CTX | HDD: WD 3200AAKS + Maxtor 6Y080M0 80GB SATAII + 120GB ATA Barracuda | PSU: Corsair VX450W | Windows 7 Ultimate Sk | REPRO: Logitech X-210
+
IPhone 3GS JB 3.1.3 (new BR)
múdry sa postara o seba ale ešte múdrejši sa postara aj o druhých |
|
Registrovaný: 26.11.06 Prihlásený: 22.01.24 Príspevky: 4118 Témy: 319 Bydlisko: HE/BA | Napísal Flety: 22.01.2008 19:07 | |
|
na ingnorovanie diakritiky by si mohol urobit tak ze das funkciu napr: Kód: $dk1='ľščťžýáíé'//teda vsetky znaky s diakritikou $dk2='lsctzyaie'//teda rovnake znaky v rovnakom poradi $slovo_bez_dk=strtr($slovo, $dk1, $dk2);
a do db hladania by si dal uz len to $slovo_bez_dk
|
|
Registrovaný: 07.08.06 Prihlásený: 18.11.21 Príspevky: 947 Témy: 268 Bydlisko: Levice | Napísal autor témy neopagan: 22.01.2008 19:57 | |
|
ano, to vyzera slubne...diky! Ale neviem si predstavit opacny postup, ako pisal kmsa. Ked teda zada clanok a v databaze je článok. Tu mu neviem vopred urcit, ktore pismeno ma nahradit diakritikou...hm...
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava | |
Registrovaný: 07.08.06 Prihlásený: 18.11.21 Príspevky: 947 Témy: 268 Bydlisko: Levice | Napísal autor témy neopagan: 22.01.2008 21:00 | |
|
No pisal si tam o reg.vyrazoch. Konkretny priklad Kód: $searchstring = "myška";
Regularny vyraz z hladaneho retazca:
$regexp = "[mM][yýYÝ][sšSŠ][kK][aáAÁ]";
Select:
SELECT * FROM tabulka WHERE text REGEXP '$regexp'
Lenze to je jedno slovo. Ale ja neviem ake slovo bude uzivatel hladat, ako mu definujem kazde pismeno, ked neviem, co bude hladat? Z uvedeneho vyplyva, ze v databaze bude hladat aj myska,Myska,Mýska, atd ... ale ako to zovseobecnit pre lubovolne hladane slova?
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
$searchstring obsahuje retazec, ktory bol zadany do inputu vo vyhladavani, odstranis z tohto retazca diakritiku a prekonvertujes to do tvaru ako je v $regexp, tot vsio...
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 26.11.06 Prihlásený: 22.01.24 Príspevky: 4118 Témy: 319 Bydlisko: HE/BA | Napísal Flety: 22.01.2008 21:52 | |
|
nehnevaj sa ale velky rozdiel medz tvojim a mojim skriptom nevidim, teda v tom co robia a myslim ze moj je (vynimocne) lepsi
|
|
Registrovaný: 16.05.07 Prihlásený: 01.08.17 Príspevky: 837 Témy: 6 | Napísal juho: 22.01.2008 22:00 | |
|
Drako píše: nehnevaj sa ale velky rozdiel medz tvojim a mojim skriptom nevidim, teda v tom co robia a myslim ze moj je (vynimocne) lepsi akoze "vynimocne" sa asi mylis chlapce ten regexp vyhlada vsetky slova ten tvoj len tie bez diakritiky a s malymi pismenami, atd.
_________________ getch();?{readkey;?} na konci? !A naco! Riesenie je (Alt+F5)
99% pochopí a shaggy je druhá kategória |
|
Registrovaný: 26.11.06 Prihlásený: 22.01.24 Príspevky: 4118 Témy: 319 Bydlisko: HE/BA | Napísal Flety: 22.01.2008 22:02 | |
|
ten moj si moze upravit ako chce teda aj velke aj male a napr aj medzery za pomlcky a myslel som to tak ze nestava sa casto aby ja som mal lepsi skript ako stenley
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
ten tvoj skript je len prvy krok (odstranenie dia) z mojho prikladu
ako juho spravne poznamenal, tvoje riesenie vyhlada len istu malu cast zo vsetkych moznych retazcov, ktore by mal v skutocnosti najst => tvoje tvrdenie je nespravne
ale v poriadku, daj sem priklad, ako by si vyhladal v db slovo "zošiť" (s tym, ze mozem pri vyhladavani napisat zosit, zošit prip. zošiť) pomocou tvojho riesenia...
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 07.08.06 Prihlásený: 18.11.21 Príspevky: 947 Témy: 268 Bydlisko: Levice | Napísal autor témy neopagan: 03.02.2008 13:20 | |
|
Stenley, $searchstring obsahuje retazec, ktory bol zadany do inputu vo vyhladavani. To je v poriadku. Potom mam odstranit diakritiku trebars ala Drako: Kód: $dk1='ľščťžýáíé' $dk2='lsctzyaie' $slovo_bez_dk=strtr($searchstring, $dk1, $dk2);
No ale ako teraz prekonvertujem $slovo_bez_dk na $regexp ?
Musim napisat vsetky abecedne znaky $regexp = "[aAáÁ][bB][cCčČ][DdĎď]...atd...."; ?
|
|
| Stránka: 1 z 1
| [ Príspevkov: 16 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| hladanie v databaze v PHP, ASP | 2 | 768 | 12.03.2010 14:05 1daemon1 | | Str_Replace a velke / male pismena v PHP, ASP | 19 | 1211 | 01.03.2008 7:54 stenley | | hladanie v PHP, ASP | 2 | 584 | 31.03.2009 18:27 tatysp | | Hladanie v Internetový marketing, SEO, reklama | 8 | 703 | 29.03.2011 20:50 walther | | hladanie v Správy pre vedenie fóra | 2 | 1344 | 04.03.2007 0:16 JanoF | | hladanie cisla v Krčma | 7 | 4848 | 16.09.2010 11:53 ac.milan | | (JS) Hladanie v JavaScript, VBScript, Ajax | 8 | 597 | 11.03.2010 16:08 mylan | | Databáze OC [ Choď na stránku: 1 ... 5, 6, 7 ] v Biosy a ladenie výkonu | 187 | 27843 | 27.11.2014 5:30 blabla630 | | Hľadanie predmetov v Počítačové hry | 0 | 1336 | 30.06.2010 21:14 klatisko25cm | | Veľké sekanie v AMD - Advanced Micro Devices | 4 | 889 | 26.09.2007 19:37 RoBo | | Veľké video v Video programy | 5 | 461 | 10.07.2010 10:44 shiro | | Veľké odseky v HTML, XHTML, XML, CSS | 6 | 497 | 04.05.2012 19:07 zerominerSK | | Coppermine - prenos databaze v Redakčné systémy | 2 | 585 | 08.09.2007 17:57 SonnY | | Hladanie na stranke [ Choď na stránku: 1, 2 ] v PHP, ASP | 31 | 2432 | 05.05.2010 10:52 jtomcik | | Hladanie v array v PHP, ASP | 5 | 477 | 19.03.2012 21:38 w3r0 | | Hladanie v teme v Správy pre vedenie fóra | 4 | 1052 | 09.11.2008 21:35 Blackshadow |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|