Allora ho utilizzato questo codice http://www.w3schools.com/php/php_ajax_livesearch.asp
e l'ho modificato, almeno in parte. Ora pero vorrei collegare "la lista delle cose da cercare" ad un database. Nel codice fornito la pagina .php cerca in quella .xml i dati da cercare, ma dato che per necessita mia devo collegarlo al database non so come farlo, essendo un Dom document, non so come trasformarlo in un codice php (che connettendosi al database, mi stamperà tutti i risultati in html). Attualmente i codici che ho sono questi (sono modificati rispetto all'originale).
Search.html
cercagiochi.phpcodice:<html> <head> <script type="text/javascript"> function showResult() { var str = document.getElementById("cerca").value var strc = document.getElementById("console").value if (str.length==0) { document.getElementById("livesearch").innerHTML=""; document.getElementById("livesearch").style.border="0px"; return; } if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); } else {// code for IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { document.getElementById("livesearch").innerHTML=xmlhttp.responseText; document.getElementById("livesearch").style.border="0px"; } } xmlhttp.open("GET","cercagiochi.php?q=" + str + "&g=" + strc,true); xmlhttp.send(); } </script> </head> <body> <form> Console <select id="console" onblur="showResult()"> <option value="all">ALL</option> <option value="pc">PC</option> <option value="ps3">PS3</option> </select> <input type="text" size="30" onkeyup="showResult()" id="cerca"/> <table><tr><td width="400" id="livesearch"></td></tr></table> </form> </body> </html>
risultati.phpcodice:<?php $xmlDoc=new DOMDocument(); $g=$_GET["g"]; //questa variabile la avevo messa per cambiare la lista dei documenti da caricare in base a quale "console" (value del select option) si sceglieva $xmlDoc->load("risultati.php"); $x=$xmlDoc->getElementsByTagName('r'); //get the q parameter from URL $q=$_GET["q"]; //lookup all links from the xml file if length of q>0 if (strlen($q)>0) { $hint=""; for($i=0; $i<($x->length); $i++) { $y=$x->item($i)->getElementsByTagName('t'); if ($y->item(0)->nodeType==1) { //find a link matching the search text if (stristr($y->item(0)->childNodes->item(0)->nodeValue,$q)) { $a= $y->item(0)->childNodes->item(0)->nodeValue; $a= str_replace(" ", "_", $a); if ($hint=="") { $hint= // se vuoi aggiungere anche il titolo aggiungi questa stringa $y->item(0)->childNodes->item(0)->nodeValue . "<img src='miniaturegiochi/" . $a. ".png'>"; } else { $hint=$hint . // se vuoi aggiungere anche il titolo aggiungi questa stringa $y->item(0)->childNodes->item(0)->nodeValue . "<img src='miniaturegiochi/" . $a. ".png'>"; } } } } } // Set output to "no suggestion" if no hint were found // or to the correct values if ($hint=="") { $response="no suggestion"; } else { $response=$hint; } //output the response echo $response; ?>
Ho postato in php dato che la parte da modificare del codice riguarda appunto il phpcodice:<html> <body> <? mysql_connect('localhost','root','password') or die("Impossibile collegarsi al server"); mysql_select_db('my_database') or die("Impossibile collegarsi al server"); $sqlquery = "SELECT * FROM cercagiochi"; $result = mysql_query($sqlquery); $number = mysql_numrows($result); $i = 0; while ($number > $i) { $titolo = mysql_result($result,$i,"titolo"); echo "<r><t>". $titolo. "</t></r>"; $i++; } ?> </body> </html>
(non so nulla della creazione a oggetti di PHP, quindi se la risposta riguarda questo argomento, parlate con un ignorante)

Rispondi quotando