Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/03/2013, 00:17
TANIA1993
 
Fecha de Ingreso: julio-2009
Mensajes: 11
Antigüedad: 14 años, 8 meses
Puntos: 1
Información [APORTE] Llenado de varios campos con autocomplete

Buen día.

Hace ya bastante no ingresaba a foros del web, lo utilizo bastante pero desde hace mucho veo la falta de APORTES por parte de los usuarios con mas conocimientos.

Hace unos días tuve un inconveniente al querer buscar un script que con un campo de auto completado llenara mas de un input con diferentes datos de la consulta realizada.

Aquí les dejo el script.

index.php
Código PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <link type="text/css" rel="stylesheet" href="css/jquery-ui-1.8.4.custom.css" />
        <link type="text/css" rel="stylesheet" href="css/estilo.css" />
        <script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
        <script type="text/javascript" src="js/jquery-ui-1.8.4.custom.min.js"></script>
        <script type="text/javascript">
            $(function(){
                $('#buscar_usuario').autocomplete({
                   source : 'ajax.php',
                   select : function(event, ui){
                       // agregamos un valor por defacto a nuestro campo "resultadosa" 
                       // si necesitas mas campos solo agregalos al array y despues hubicalos es esta parte del codigo
                       //cambiando el identificador por el id del campo y el value por el nombre que le diste a tu dato obtenido dentro del array
                       document.getElementById('resultadosa').value = ui.item.foto ;
                   }
                });
            });
        </script>
        <title>JV Software | Tutorial 1</title>
    </head>
    <body>
    <?php @$bandera=$_POST['bandera'];
    if (
$bandera==1)
    {
        echo 
$_POST['buscar_usuario'];
        echo 
'<br>';
        echo 
$_POST['resultadosa'];
        }
?>
        <div id="busqueda" >
          <form name="form1" method="post" action="">
            <input type="text" id="buscar_usuario" name="buscar_usuario" /> 
            <input type="text" name="resultadosa" value="" id="resultadosa">
            <input name="bandera" type="hidden" id="bandera" value="1">
            <input type="submit" name="button" id="button" value="Enviar">
          </form>
        </div>              
    </body>
</html>
ajax.php

Código PHP:
<?php
include_once 'usuarios.class.php';

$usuario = new Usuarios();

echo 
json_encode($usuario->buscarUsuario($_GET['term']));
usuarios.class.php ---> conexión de base de datos se maneja desde aqui.

Código PHP:
<?php
class Usuarios
{
    public function  
__construct() {
        
///aqui pones tus datos de conexion
        
$dbhost 'host';
        
$dbuser 'usuario';
        
$dbpass 'contraseña';
        
$dbname 'base_de_datos';

        
mysql_connect($dbhost$dbuser$dbpass);

        
mysql_select_db($dbname);
    }

    public function 
buscarUsuario($nombreUsuario){
        
$datos = array();
////// indicamos la tabla para hacer la busqueda y la columna especifica dentro de la tabla en este caso "cie" es la tabla y "descripcion" es la columna
        
$sql "SELECT * FROM cie
                WHERE descripcion LIKE '%$nombreUsuario%' LIMIT 0,10"
;

        
$resultado mysql_query($sql);

        while (
$row mysql_fetch_array($resultadoMYSQL_ASSOC)){
            
////asociamos los datos obtenidos a un array 
            ///EJ: mi tabla "cie" tenia los campos descripcion y codigo, asi que asigne a "descripcion" el nombre de "value" dentro 
            //de mi array y a "codigo" le asigne el nombre de "foto". 
            
$datos[] = array("value" => $row['descripcion'],
                            
"foto" => $row['codigo']);
        }

        return 
$datos;
ahora descargar estos archivos y descomprime todo en tu carpeta de servidor (son los JS y CSS que no son muy importantes para subirlos por código). http://cruzyacevedo.com/forosdelweb/adjuntos.zip

Si deseas descargar todo el código completo aquí se los dejo. http://cruzyacevedo.com/forosdelweb/completo.zip

Si no es clara la explicación me dicen y subo un videotutorial y el ejemplo en linea.