Ver Mensaje Individual
  #1 (permalink)  
Antiguo 31/05/2015, 13:45
zerobathory
 
Fecha de Ingreso: enero-2012
Mensajes: 55
Antigüedad: 12 años, 4 meses
Puntos: 1
Problemas con autocompletado

Hola, buenas tardes, tengo un problema con el autocompletado en jquery y php, no se si va el tema en este foro o en el de php, pero lo pongo aqui porque el nucleo en si de que funcione es jquery, tengo un formulario en el que se va a dar de alta un cliente, tengo los input, Nombre y telefono, quiero que ingresando el numero de telefono, primero se haga un autocompletado para mostrar los telefonos que hay en la base de datos, y posteriormente al elegir el telefono, se llene en automatico el campo Nombre, y en un campo oculto, me guarde el id del cliente lo estoy intentando de la siguiente forma:

formulario.php
Código:
<html lang="en">

<head>
<!-- Jquery Autocompletado -->
	<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script>
	<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/black-tie/jquery-ui.css" rel="stylesheet" type="text/css" />
</head>
<body>
<script>
$(document).ready(function(){
    $( "#telefono" ).autocomplete({
        source: "buscartelefono.php",
        minLength: 2
    });
 
    $("#telefono").focusout(function(){
        $.ajax({
            url:'buscarcliente.php',
            type:'POST',
            dataType:'json',
            data:{ telefono:$('#telefono').val()}
        }).done(function(respuesta){
            $("#nombre").val(respuesta.nombre);
            $("#nombre").val(respuesta.paterno);
            $("#nombre").val(respuesta.materno);
			$("#idcliente").val(respuesta.id);
        });
    });
});
</script>
</body>
<form >
<label>Nombre Cliente</label>
<input class="form-control" id="nombre" name="nombre" >
<input type="hidden" name="idcliente" id="idcliente">
<label>*Tel&eacute;fono</label>
<input  class="form-control" name="telefono"  id="telefono">
</form>
</html>
buscartelefono.php
Código PHP:
$telefono $_GET['term'];
 
include(
"config.php");
$prefijo$_SESSION["prefijotabla"];
$consulta "SELECT telefono,celular,idotro FROM ".$prefijo."_clientes WHERE telefono LIKE '%$telefono%', celular LIKE '%$telefono%', idotro LIKE '%$telefono%'";
$result $con->query($consulta);
 
if(
$result->rowcont() > 0){
    foreach(
$result as $fila){
        
$telefonos[] = $fila['telefono'];
        
$telefonos[]. = $fila['celular'];
        
$telefonos[]. = $fila['idotro'];
    }
echo 
json_encode($telefonos);

buscarcliente.php
Código PHP:
$telefono $_POST['telefono'];
include(
"config.php");
$prefijo$_SESSION["prefijotabla"];
$consulta "SELECT nombrec,apaterno,amaterno,id FROM ".$prefijo."_clientes WHERE telefono = '$telefono' OR celular='$telefono' OR idotro='$telefono'";
$result $con->query($consulta);
 
$respuesta = new stdClass();
if(
$result->rowcont() > 0){
    
$fila $result->fetch(PDO::FETCH_ASSOC);
    
$respuesta->nombre $fila['nombrec'];
    
$respuesta->paterno $fila['apaterno'];
    
$respuesta->materno $fila['amaterno'];
    
$respuesta->id $fila['id'];
}
echo 
json_encode($respuesta); 
Pero al poner el telefono en el campo telefono, no me muestra los telefonos en la base de datos y al poner algun telefono que si esta en la base, no me autocompleta el campo Nombre, no se si estoy haciendo algo mal, Nota, estoy usando bootstrap