Autor | Zpráva | ||
---|---|---|---|
mleassy Profil * |
#1 · Zasláno: 15. 2. 2013, 08:54:40
zdravím všechny, potřebuji poradit ohledně autocomplete. tady na diskuze.jakpsaweb.cz je už mnoho příspěvku ohledně auto... ale chci se zeptat, jestli nelze nějak inkludovat do pole array soubor 'txt' s výrazy. Mám script (php) který mi z databáze MySql uloží všechna klíčková slova a nadpisi do souboru.txt v tomto formátu:
"nadpis_clanku"=>"klicove_slovo","nadpis_clanku2"=>"klicove_slovo2", ... dlouho jsem kombinoval a zkoušel (fileread, file_get_contents, apd) jak to provést, ale vždy bez úspěšného výsledku. Ve výsledku mi jde vlastně o to, aby se výrazy, které se později našeptávají v poli pro hledání načítaly z databáze jako nadpisy článku. dík za jakoukoli radu krom hledej na google.com apd :) |
||
jenikkozak Profil |
#2 · Zasláno: 15. 2. 2013, 09:17:59
mleassy:
„dlouho jsem kombinoval a zkoušel (fileread, file_get_contents, apd) jak to provést, ale vždy bez úspěšného výsledku.“ Jaké server hlásil chyby nebo jak se neúspěch projevoval? |
||
mleassy Profil * |
#3 · Zasláno: 15. 2. 2013, 09:30:20
no když jsem zkoušel jestli našeptávač vykazuje funkčnost tak to prostě jednoduše nešlo :) jakmile jsem do pole v proměnné $items vložil ručně obsah soubor.txt vše fungovalo..
správně: $items = array("nadpis_clanku"=>"klicove_slovo","nadpis_clanku2"=>"klicove_slovo2"); špatně: $items = array(readfile($file)); špatně: $items = array(file_get_contents($file)); špatně: $items = array(include($file)); |
||
1Pupik1989 Profil |
#4 · Zasláno: 15. 2. 2013, 09:43:43
Nebude lepší tahat záznamy přímo z databáze namísto souboru?
|
||
mleassy Profil * |
#5 · Zasláno: 15. 2. 2013, 09:48:31
no tak na to jsem za celou noc nepřišel .... zkoušel jsem rozjet spoustu scriptů a opravdu řadu hodin, ale co se týče mysql, nerozjel jsem nic :(
|
||
abc Profil |
Nějak takto z DB:
$sql = "SELECT nadpis, klicove_slovo FROM tabulka"; $result = mysql_result($sql); $items = array(); while(list($nadpis, $klic) = mysql_fetch_array($result)){ $items[$nadpis] = $klic; } |
||
mleassy Profil * |
#7 · Zasláno: 15. 2. 2013, 10:07:07
tohle je javscript:
$(function() { var cache = {}; $( "#birds" ).autocomplete({ minLength: 2, source: function( request, response ) { var term = request.term; if ( term in cache ) { response( cache[ term ] ); return; } $.getJSON( "search.php", request, function( data, status, xhr ) { cache[ term ] = data; response( data ); }); } }); }); </script> a search.php: <?php sleep( 1 ); // no term passed - just exit early with no response if (empty($_GET['term'])) exit ; $q = strtolower($_GET["term"]); // remove slashes if they were magically added if (get_magic_quotes_gpc()) $q = stripslashes($q); $items = array("House Finch"=>"Carpodacus mexicanus", "Green Heron"=>"Butorides virescens", "Solitary Sandpiper"=>"Tringa solitaria", "Heuglin's Gull"=>"Larus heuglini" ); $result = array(); foreach ($items as $key=>$value) { if (strpos(strtolower($key), $q) !== false) { array_push($result, array("id"=>$value, "label"=>$key, "value" => strip_tags($key))); } if (count($result) > 11) break; } // json_encode is available in PHP 5.2 and above, or you can install a PECL module in earlier versions echo json_encode($result); ?> |
||
Časová prodleva: 11 let
|
0