Hola,
primero que nada te dejo un ejemplo del modelo que uso para mi autocomplete
Código PHP:
Ver original/**
* devuelve todos los productos para la caja
* @return <array>
*/
public function listadoProductosCaja($data) {
$sql = "SELECT * FROM productos WHERE 1 ";
if(!empty($data['idproductos'])) { $sql .= " AND idproductos='{$data['idproductos']}'";
}
if(!empty($data['idproveedores'])) { $sql .= " AND idproveedores='{$data['idproveedores']}'";
}
if(!empty($data['nombre'])) { $sql .= " AND nombre LIKE '{$data['nombre'][0]}%'";
}
if(!empty($data['term'])) { $sql .= " AND (nombre LIKE '%{$data['term']}%' OR codigo LIKE '%{$data['term']}%')";
}
if(!empty($data['codigo'])) { $sql .= " AND codigo LIKE '{$data['codigo'][0]}%'";
}
$sql .= " AND stock !=0";
$consulta = $this->db->QueryArray($sql);
if(!$consulta) {
$consulta = $this->db->Error();
}
return $consulta;
}
la variable $data['term'] es el campo que usa el autocomplete de jquery ui para hacer la busqueda.
Ahora a lo que me comentas en tu ultimo post intenta dejar como esta imprimiendo el alert el json para ver que estas haciendo mal, pero me parece que le estas errando al querer pasarlo por js al json ya que eso lo deberias devolver con el controlador.
salu2