A ver si me sale bien la explicación porque soy un poco malo para explicar y al no poner los nombres de tus archivos no sé muy bien como lo has hecho, un poco más de información sería útil. ;)
El problema está en el archivo
sugerencias.php del cual no has puesto el código. Pero seguramente en ese archivo haces la consulta únicamente y devuelves los nombres a pelo ¿no?
Si te fijas en tu script: (
document.getElementById("txtHint").innerHTML=xmlht tp.responseText;) estás introduciendo la respuesta AJAX en la división txtHint, pero esa respuesta debería venir también con el código HTML que va dentro de la citada "txtHint" ya que la respuesta AJAX está sustituyendo por completo lo que hay dentro de la división.
No sé muy bien como tienes configurado tu archivo
sugerencias.php pero en el deberías tener algo así:
Código PHP:
Ver original<?php
$innerHTML = "";
//Inclusión de la conexión
include("conectar.php");
$cone=conectar();
//Pregunta concreta por nombre a la base de datos (Esto es un ejemplo ya que no sé como está estructurada)
$registros=mysqli_query($cone,"select * from img WHERE nombre LIKE '%".$_GET['q']."%' ORDER BY usu_puntos DESC") or
die("Problemas en el select:".mysqli_error());
//Sacamos los registros con las divs
$innerHTML .= '<div class="contenedor_c" id="capa1"><input type="image" src="../_imgclient/'.$reg['nombre'].'.'.$reg['nombre'].'" width=292 height=211 title="'.$reg['nombre'].'"></div>
';
}
echo $innerHTML;
?>
EL caso es que el
xmlhttp.responseText de la función javascript te devolverá la variable
$innerHTML del archivo "sugerencias.php" y serán las divisiones que haya creado el bucle con los resultados de búsqueda. Además en la función puedes hacer que si no hay resultado no cambie el HTML, por ejemlo:
Código Javascript
:
Ver original<script type="text/javascript">
function sugerencias(str){
var xmlhttp;
if (str.length==0) {
document.getElementById("txtHint").innerHTML="";
return;
}
if (window.XMLHttpRequest) {
xmlhttp=new XMLHttpRequest();
} else {
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function() {
if ((xmlhttp.readyState==4) && (xmlhttp.status==200)&&(xmlhttp.responseText)) {
document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","sugerencias.php?q="+str,true);
xmlhttp.send();
}
</script>
Esto es lo que he podido hacer con la información que has puesto en el POST, si me he desviado un poco, pon un poco más de información e intentaré ayudarte.