| | |
| Stránka: 1 z 1
| [ Príspevkov: 3 ] | |
Autor | Správa |
---|
Registrovaný: 20.03.08 Prihlásený: 08.03.17 Príspevky: 596 Témy: 149 Bydlisko: Houston, Texas | Napísal Unlink: 31.03.2009 16:55 | |
|
ako spravit najefektívnejšie hľadanie?
bo teraz používam LIKE "%$cohladam%"
lenže ono mi to formulár spraví tak že do adresy dá neco+neco+dalsie+necodalsie
a mna zaujíma že ako sa dajú využit tieto klucove slova?
|
|
Registrovaný: 26.12.06 Prihlásený: 16.11.19 Príspevky: 3971 Témy: 181 Bydlisko: Nitra / Bra... | Napísal emer: 31.03.2009 18:23 | |
|
rozdelis si ten retazec na slova, potom ich cyklom spojis do SQL dotazu.
teda napr.
Kód: //$zoznam_slov obsahuje hladane vyrazy v poli $hladaj; for ($i = 0; $i<(count($zoznam_slov)-1); $i++) { $hladaj .= ' OR `nazovstlpca` LIKE \'%'.$zoznam_slov[$i]. '%\''; } $hladaj=substr($hladaj, 4); //odtrani " OR" zo zaciatku a dosadis do sql dotazu Kód: $sql = "select * from tabulka where $hladaj LIMIT x,x";
nevravim,ze toto je najlepsi sposob, ale mas tam ciastocne riesenie problemu.. na viac nemam cas
samozrejme, tie vyrazy este osetruj atd.
_________________ Sorry za prelkepy |
|
Registrovaný: 01.09.07 Prihlásený: 18.05.11 Príspevky: 141 Témy: 36 Bydlisko: 127.0.0.1 | Napísal tatysp: 31.03.2009 18:27 | |
|
po1) skús to posielať pomocou POST
po2) možno ma niekto ukameňuje za nie celkom profesionálne riešenie, ale bude ti fungovať a určite nájde, čo má
Kód: // Generujeme hľadaciu frázu $array = explode (' ', $_POST['string']); // Slová na pole foreach ($array as $word) { // Pre každé slovo $keys = array ( // Vytvoríme kľúče strtolower ($word), // všetko malým ucfirst ($word), // prvé písmeno veľkým strtoupper ($word), // všetko veľkým ); foreach ($keys as $key) { // pre každý kľúč vyselectuj všetky možnosti $toQuery[] = "col LIKE '$key%' OR col LIKE '%$key%' OR col LIKE '%$key' OR col = '$key'"; }; };
// Ak nebolo zadané žiadné slovo if (!isset ($toQuery)) { echo 'Nezadali ste text na vyhľadávanie'; } else {
// Prechod DB $where = '(' . implode (' OR ', $toQuery) . ')'; // Spojíme všetky kľúče je jednej WHERE podmienky $query = "SELECT ... FROM xyz WHERE $where"; $sql = mysql_query ($query); while ($row = mysql_fetch_array ($sql)) { // Výpis výsledkov }; };
PS:
$_POST['string'] - vyhľadávaná fráza
col = stĺpec v databáze, v ktorom chceš vyhľadávať
_________________ It easier to run away |
|
| Stránka: 1 z 1
| [ Príspevkov: 3 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| 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 | | Hľadanie predmetov v Počítačové hry | 0 | 1336 | 30.06.2010 21:14 klatisko25cm | | (JS) Hladanie v JavaScript, VBScript, Ajax | 8 | 597 | 11.03.2010 16:08 mylan | | hladanie cisla v Krčma | 7 | 4845 | 16.09.2010 11:53 ac.milan | | hladanie v databaze v PHP, ASP | 2 | 768 | 12.03.2010 14:05 1daemon1 | | hľadanie duplicitných súborov v Ostatné programy | 1 | 840 | 02.07.2009 12:53 Horalka | | Hladanie pripon C# v Technológia .NET | 8 | 679 | 26.04.2012 10:44 Rdf | | hladanie v DB v PHP, ASP | 3 | 459 | 23.10.2008 18:01 pa3ck | | hladanie gulatej lampy [ Choď na stránku: 1, 2 ] v Voľný čas a hobby | 54 | 7124 | 31.12.2006 13:11 Kamahl | | Hladanie v array v PHP, ASP | 5 | 475 | 19.03.2012 21:38 w3r0 | | Hladanie na stranke [ Choď na stránku: 1, 2 ] v PHP, ASP | 31 | 2429 | 05.05.2010 10:52 jtomcik | | Hľadanie v súbore v PHP, ASP | 5 | 485 | 13.12.2011 18:26 shaggy | | Hladanie v teme v Správy pre vedenie fóra | 4 | 1052 | 09.11.2008 21:35 Blackshadow | | Program na hladanie nazvov. v Audio programy | 8 | 4821 | 09.03.2008 23:03 prandof | | Hľadanie skratiek vo Worde v Ostatné programy | 1 | 272 | 12.04.2015 10:06 McLovin |
| 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
|
|