Foros del Web » Programando para Internet » Jquery »

Autocompletar con Jquery

Estas en el tema de Autocompletar con Jquery en el foro de Jquery en Foros del Web. Un abrazo desde Colombia para todos!, estoy empezando con jquery, especificamente tratando de autocompletar desde la base de datos, utilizo el siguiente código pero no ...
  #1 (permalink)  
Antiguo 24/11/2010, 09:49
colombianDreams
Invitado
 
Mensajes: n/a
Puntos:
Pregunta Autocompletar con Jquery

Un abrazo desde Colombia para todos!,
estoy empezando con jquery, especificamente tratando de autocompletar desde la base de datos, utilizo el siguiente código pero no funciona, quisiera saber si alguien identifica mi error o si debo tomar otro camino para lograr mi objetivo.

Código HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <link type="text/css" rel="stylesheet" href="css/jquery-ui-1.8.6.custom.css" />
		<script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
        <script type="text/javascript" src="js/jquery-ui-1.8.6.custom.min.js"></script>
        <script type="text/javascript">
           $(document).ready(function(){
               
               $('#pro').autocomplete("ajax.php", {
                         width : 280,
                         selectFirst : true
                });
             });
        </script>
    
    <title>Prueba Jquery</title>
</head>

<body>

    <form id="form1" name="form1" method="post" action="">
    
      <input type="text" name="pro" id="pro" />
    
    </form>	

</body>

</html> 

Código PHP:
<?

$db 
mysql_connect("localhost","root","root");
$banco mysql_select_db("factur",$db);

 
$q strtolower ($_POST['pro']);
 
 
$sql mysql_query("SELECT * FROM producto WHERE despro LIKE '%$q%'");

 
 while (
$row mysql_fetch_array($sql)){
      if(
strpos(strtolower(row['despro']), $q) !== false ){
         echo 
$row["despro"] . "," $row["despro"] . "\n";
         }
 }
 
?>
Atento a sus valiosos aportes!
  #2 (permalink)  
Antiguo 24/11/2010, 11:19
 
Fecha de Ingreso: noviembre-2010
Mensajes: 9
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: Autocompletar con Jquery

Hola que tal, mira yo utilice este procedimiento para mejorar la rapidez de la busqueda, ya que al cargar los datos en en un arreglo para el javascript, solo se llegan a cargar una vez(la primera al cargar la pagina), y no como lo harias directamente de la Base de Datos ya que tardarian siempre lo mismo en tener que ir a consultar la Base y regresar el result para formar el arreglo de palabras que quieres que se muestre, bueno te muestro.

Primero haces tu consulta en de la Base de Datos de todos los registros que quieres en la busqueda
<?php
//.... aqui va el conector de tu Base de Datos y las demas variables que necesites

$lista_total_productos = mysql_query("SELECT * FROM producto);
$data = "";
$contador_total_registro = count($lista_total_productos);
$cont = 1;
while( $registro_producto = mysql_fetch_array($lista_total_productos) ){
$data .= $registro_producto['despro'];
if($cont != $contador_total_registro){//Si el contador de registro no es igual a la longitud del arreglo entonces agrega el simbolo, que es el delimitador que usara la funcion del jquery para distinguir una cadena de otra.
$data .="&";
}
$cont++;
}
//...... lo demas que necesites poner
?>


<script type="text/javascript">
$(document).ready(function() {
var data = '<?=$data?>'.split("&");//le asigna a la variable data(la del script) la cadena que se genero en la variable $data(la de php), y le dice que el delimitador para las cadenas de busqueda es '&', y ya con eso te hace la busqueda con la letra que vayas ingresando en el input
$("#pro").autocomplete(data);
});
<script>

//..... aqui va el formulario que necesitas poner.

Espero no haberte confundido un poco
  #3 (permalink)  
Antiguo 24/11/2010, 12:13
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 20 años, 9 meses
Puntos: 1284
Tema movido desde javascript
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #4 (permalink)  
Antiguo 24/11/2010, 15:18
colombianDreams
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Autocompletar con Jquery

Primero que todo excusas al moderador por haber consultado en el foro equivocado ........... a Mycol_mtz1906 muchas gracias, ahora mismo empiezo a probarlo y te cuento como me fué ............
  #5 (permalink)  
Antiguo 24/11/2010, 16:57
colombianDreams
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Autocompletar con Jquery

Hasta ahora no me funciona, el código quedó así:

Código PHP:
<?

$db 
mysql_connect("localhost","root","root");
$banco mysql_select_db("factur",$db);

 
$q strtolower ($_POST['pro']); 


$lista_total_productos mysql_query("SELECT * FROM producto WHERE despro '%$q%'"); 
$data "";
$contador_total_registro count($lista_total_productos);
$cont 1;
while( 
$registro_producto mysql_fetch_array($lista_total_productos) ){
$data .= $registro_producto['despro'];
if(
$cont != $contador_total_registro){//Si el contador de registro no es igual a la longitud del arreglo entonces agrega el simbolo, que es el delimitador que usara la funcion del jquery para distinguir una cadena de otra.
$data .="&";
}
$cont++;
}
 
?>
Código HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <link type="text/css" rel="stylesheet" href="css/jquery-ui-1.8.6.custom.css" />
		<script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
        <script type="text/javascript" src="js/jquery-ui-1.8.6.custom.min.js"></script>
        <script type="text/javascript">
			$(document).ready(function() {
			var data = '<?=$data?>'.split("&");
			$("#pro").autocomplete(data);
			});
		</script>
    
    <title>Prueba Jquery</title>
</head>

<body>

    <form id="form1" name="form1" method="post" action="">
    
      <input type="text" name="pro" id="pro" />
    
    </form>	

</body>
</html> 
Atento a las sugerencias .......
  #6 (permalink)  
Antiguo 24/11/2010, 18:59
colombianDreams
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Autocompletar con Jquery

He modificado el código pero nada .......

ajax.php

Código PHP:
<?

$db 
mysql_connect("localhost","root","root");
$banco mysql_select_db("factur",$db);

$lista_total_productos mysql_query("SELECT * FROM producto");  
$data ""
$contador_total_registro count($lista_total_productos); 
$cont 1
while( 
$registro_producto mysql_fetch_array($lista_total_productos) ){ 
$data .= $registro_producto['despro']; 
if(
$cont != $contador_total_registro){//Si el contador de registro no es igual a la longitud del arreglo entonces agrega el simbolo, que es el delimitador que usara la funcion del jquery para distinguir una cadena de otra. 
$data .="&"

$cont++; 
}  
 
?>

index.php

Código HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link type="text/css" rel="stylesheet" href="css/jquery-ui-1.8.6.custom.css" />
<script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="js/jquery-ui-1.8.6.custom.min.js"></script>
<script type="text/javascript">
   <? include("ajax.php"); ?>
      $(document).ready(function() {
			var data = '<?=$data?>'.split("&");
			$("#pro").autocomplete(data);
			});
</script>

<title>Prueba Jquery</title>
</head>

  <body>

    <form id="form1" name="form1" method="post" action="">

      <input type="text" name="pro" id="pro" />
  
    </form>

 </body>
</html> 

Etiquetas: autocompletado
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:17.