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

codice:
<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>
cercagiochi.php
codice:
<?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;
?>
risultati.php
codice:
<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>
Ho postato in php dato che la parte da modificare del codice riguarda appunto il php
(non so nulla della creazione a oggetti di PHP, quindi se la risposta riguarda questo argomento, parlate con un ignorante)