[ gidraa1 @ 27.08.2009. 00:56 ] @
Pozdrav!
Mozda nisam dobro opisao problem u naslovu teme ali evo sta je...
Zelim da kada korisnik u text box rec npr "gidra" iz baze dobije takodje medju rezultatima rec "kgidra" . Evo o cemu se radi. Imam deo upita gde ide ovako "SELECT ID FROM korisnici WHERE name LIKE "%$name%";

ovo me sluzi u slucajevima kad neko ukuca rec koja je "gidra" ili ima manje slova...ali kad bi upisao "kgidra" ne dobije nista..znaci zelim da taj samo deo stringa da matchujem u upitu.E sad mozda ovo i nije za PHP forum ali u php sam radio kod sa malo mysql koda pa sam ovde otvorio.Resenje ne bih zeleo pre nekih petlji nego mozda ako ima neka php ili mysql funkcija kojom bi mogao da proverim da li se "gidra" nalazi u "kgidra" i to da se smesti u taj mysql upit koji sam gore zapisao.Nadam se da ste razumeli sta sam pitao.
[ Man-Wolf @ 27.08.2009. 08:51 ] @
Nisam siguran da je moguce to sto hoces ... Probaj na Google-u na primer da kucas: "gidra" i "kgidra":

"kgidra":

Citat:
Google: Results 1 - 10 of about 18 for kgidra


"gidra":

Citat:
Results 1 - 10 of about 95,400 for gidra


Mada, u slucaju da hoces da "pomognes" korisniku, pod pretpostavkom da je pogresno dodao prvo slovo, mozes da sastavis search upit tipa:

Code:

$name2 = substr($name, 1, strlen($string) - 1); 

$query = "SELECT ID FROM korisnici WHERE name LIKE '%$name%' OR name LIKE '%$name2%'";


Ovakav nacin pretrage jeste totalno idiotski i sigurno ce da produzi vreme izvrsavanja upita (osim ako ti `name` nije tipa UNIQUE), al ako hoces da se ogradis od tih gresaka u pocetnom slovu, mos da probas ovako ....
[ gidraa1 @ 27.08.2009. 11:40 ] @
Hvala man-wolf na predlozima..

Prilicno sam siguran da je to moguce posto sam isto to video na jednom drugu sajtu koji ima pretragu.Znaci ima recimo nekoliko reci u bazi kao sto su "phone", "cellphone", i ja kada ukucam u search "cellphone" u rezultatima dobijem i phone.
[ Nemanja Avramović @ 27.08.2009. 15:49 ] @
Možeš da držiš gomilu reči u bazi (npr. da beležiš sve pretrage?) i da onda računaš sličan tekst:

http://us.php.net/manual/en/function.similar-text.php
http://us.php.net/manual/en/function.levenshtein.php
http://us.php.net/manual/en/function.soundex.php
[ kazil @ 28.08.2009. 07:30 ] @
A mozes i na nivou mysqla sa MATCH AGAINST http://dev.mysql.com/doc/refman/5.1/en/fulltext-search.html :]