Hola, destor! Lo primero darte las gracias y disculparme por no agradecerte antes que me eches un cable :o)
He revisado tu código, se adapta más o menos a lo que debo hacer, lo único, tengo que hacer la codificación en java (no se si me explico bien, lo siento). He estado estos tres últimos días dándole vueltas y algo he mejorado, pero sigo sin conseguirlo. Estos son los pasos que he dado y el punto donde me he quedado =>
1 ) He preparado un input en un buscador con un 'onkeyup' que carga una función java que pasa por post el valor del input. Esta es la función =>
Código PHP:
function librosBusqueda (){
var lalala = document.getElementById("busquedalibro").value;
$.post('http://localhost/proyecto/index.php/libros/devuelveLibrosAutocomplete','titulo=' + lalala,getResponseAutocomplete);
}
La función llama por un lado al valor del input y lo pasa a un controlador 'Devuelve librosautocomplete. Este es el
controlador =>
Código PHP:
public function devuelveLibrosAutocomplete(){
$titulo = $this->input->post("titulo");
if($titulo != false)
{
$libros_array = $this->Libros_model->buscarLibros("titulo",$titulo);
$loquesedebever = "[";
$cont = 0;
foreach ($libros_array as $libros){
if($cont == 0)
{
$loquesedebever = $loquesedebever . "'" . $libros["titulo"] . "'";
}
else
{
$loquesedebever = $loquesedebever . "," . "'" . $libros["titulo"] . "'";
}
$cont = $cont + 1;
}
$loquesedebever = $loquesedebever . "]";
echo json_encode($loquesedebever);
}
}
Llama al modelo, que tiene la búsqueda en la base de datos y hace la revisión, haciendo al final un echo en JSON y llevando a la última función, en java, que es la getResponseAutocomplete =>
Código PHP:
function getResponseAutocomplete(response)
{
alert(response);
var libros = eval(response);
$("#busquedalibro").autocomplete(libros);
}
Aquí es donde creo que estoy teniendo el problema, que seguro que es una tontería. He puesto un alert para ver que los parámetros de la BD lelgan bien, y de hecho lo hacen, se cargan los ´titulos de la base de datos según la letra que ponga y que la contengan. El problema es que a la hora de convertirlo en array de java, algo estoy escribiendo mal, sin duda, o eso creo al menos.
He probado con eval tal cual está escrito. Con eval con paréntesis y +, y no consigo que carguen como autocomplete.