PHP - Buscador instantaneo por input text

 
Vista:
Imágen de perfil de Ever
Val: 34
Ha aumentado su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

Buscador instantaneo por input text

Publicado por Ever (28 intervenciones) el 31/08/2016 18:03:16
Buen dia foro.

tengo una duda, requiero hacer una busqueda de registros en php y mysql, por medio de input text sin necesidad de tener un boton submit, es decir que al momento de preciopnar enter me muestre esta consulta, he checado varios ejemplos en la web me no me resulta

Este es mi ejemplo de formulario

en el primer input text (id="busqueda" name="nombre_razon_social") es donde se ejecute la consulta sin que tome la accion de submit de mi formulario.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<form enctype="multipart/form-data"  method="post" name="clientes" action="subir_logo.php">
     <table align="center">
         <tr valign="baseline" >
    	    <td>Nombre o Razon Social *:</td><td><input type="text" id="busqueda" name="nombre_razon_social"  value="" size="75"  onkeyup="buscar_pros();"/></td>
      </tr>
     <tr valign="baseline">
        <td nowrap align="right">Nombre Comercial:</td><td><input type="text" name="nombre_comercial" value="" size="75" disabled="disabled"></td>
      </tr>
 <tr valign="baseline">
        <td nowrap align="right">&nbsp;</td>
        <td><input type="submit" value="Insertar registro" disabled="disabled"></td>
      </tr>
    </table>
 
 </form>
 
<div id="resultado"></div>  //muestro mi resultado de la consulta

Utilizo este js.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
$(document).ready(function(){
 
        var consulta;
 
         //hacemos focus al campo de búsqueda
        $("#busqueda").focus();
 
        //comprobamos si se pulsa una tecla
        $("#busqueda").keyup(function(e){
 
              //obtenemos el texto introducido en el campo de búsqueda
              consulta = $("#busqueda").val();
 
              //hace la búsqueda
 
              $.ajax({
                    type: "POST",
                    url: "buscar_pros.php",
                    data: "b="+consulta,
                    dataType: "html",
                    beforeSend: function(){
                          //imagen de carga
                          $("#resultado").html("<p align='center'><img src='ajax-loader.gif' /></p>");
                    },
                    error: function(){
                          alert("error petición ajax");
                    },
                    success: function(data){
                          $("#resultado").empty();
                          $("#resultado").append(data);
 
                    }
              });
 
 
        });
 
});


y este buscar_pros.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php
 
      $buscar = $_POST['b'];
 
      if(!empty($buscar)) {
            buscar($buscar);
      }
 
      function buscar($b) {
            $con = mysql_connect('localhost','root', 'root');
            mysql_select_db('syuxhwur', $con);
 
            $sql = mysql_query("SELECT * FROM clientes WHERE nombre_razon_social LIKE '%".$b."%'",$con);
 
            $contar = mysql_num_rows($sql);
 
            if($contar == 0){
                  echo "No se han encontrado resultados para '<b>".$b."</b>'.";
            }else{
                  while($row=mysql_fetch_array($sql)){
                        $nombre = $row['nombre_razon_social'];
                        $id = $row['id'];
 
                        echo $id." - ".$nombre."<br /><br />";
                  }
            }
      }
 
?>

como resultado obtengo, al escribir en el input text solo me muestra los resultados conforme voy escribiendo peor no me lo muestra en <div id="resultado"></div>

Espero averme dado a entender, Saludos y gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Developer

Buscador instantaneo por input text

Publicado por Developer (52 intervenciones) el 31/08/2016 19:38:25
Hola amigo,
pues sinceramente no entiendo cual es tu problema..
Si obtienes resultados pero no los muestra en div? O no obtienes ningun resultado?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Ever
Val: 34
Ha aumentado su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

Buscador instantaneo por input text

Publicado por Ever (28 intervenciones) el 31/08/2016 19:41:35
que tal, no obtengo el resultado en eldiv
1
<div id="resultado"></div>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Developer

Buscador instantaneo por input text

Publicado por Developer (52 intervenciones) el 31/08/2016 19:47:32
Y si agrega el 'loading' ?
( $("#resultado").html("<p align='center'><img src='ajax-loader.gif' /></p>"); ) <-- Esta línea si la hace?
Si es así, prueba poniendo d la misma forma el data
$("#resultado").html(data);
Estas seguro que si traes resultados, ya probaste haciendo un console.log de tu data?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Ever
Val: 34
Ha aumentado su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

Buscador instantaneo por input text

Publicado por Ever (28 intervenciones) el 31/08/2016 20:45:18
Gracias por contestar de nuevo la primera linea que m haces referencia no la hace no carga el el gif.
solo me hace esto en el input text, espiezo a escribir y me muestra las opciones que encuentra en la base de datos y hasta ahi se queda.

busq1
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Developer

Buscador instantaneo por input text

Publicado por Developer (52 intervenciones) el 31/08/2016 20:59:06
Ok... esos "resultados" que ves, no son más que el caché que tienes de lo q has ingresado con anterioridad, dudo mucho que sea lo que te está regresando tu AJAX..
apoyate de tu consola (presiona f12), ver si no te esta tirando error desde antes,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alpanpan
Val: 198
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Buscador instantaneo por input text

Publicado por Alpanpan (94 intervenciones) el 25/09/2016 15:57:15
en la lína 29 del .JS, pon un alert(data);
1
2
3
4
5
success: function(data){
alert(data);  // <- Añade esta línea
$("#resultado").empty();
$("#resultado").append(data);
}
Para ver lo que tevuelve el ajax
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Buscador instantaneo por input text

Publicado por Roberto Villatoro (1 intervención) el 07/01/2019 03:56:34
Funciona Perfectamente, pero luego de un tiempo tuve el inconveniente que al instalar un certificado SSL en la Web, deja de funcionar, ya no realiza ninguna acción, quisiera sabe si alguien logró alguna solución
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar