Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] live search php

Estas en el tema de live search php en el foro de PHP en Foros del Web. Hola Grupo del foro Este código funciona, despliega una lista en una <tabla> "fetch.php" al escribir en el campo de búsqueda posteriormente en esa lista ...

  #1 (permalink)  
Antiguo 29/03/2021, 18:30
 
Fecha de Ingreso: noviembre-2004
Ubicación: NULL
Mensajes: 655
Antigüedad: 20 años
Puntos: 6
live search php

Hola Grupo del foro

Este código funciona, despliega una lista en una <tabla> "fetch.php" al escribir en el campo de búsqueda
posteriormente en esa lista se hace clic, y muestra el resultado seleccionado en los inputs.

La, idea es que en el campo de texto, al realizar la búsqueda por nombres... me de el resultado
como un "live search" mostrando el contenido en el campo de texto. y no como una <tabla> fuera del campo de búsqueda.
de este modo al hacer clic al nombre muestre en los campos de inputs.

espero me puedan colaborar con la ayuda. si existe otro método o código estoy dispuesto aprender de ello. gracias.





fetch.php
Código PHP:
Ver original
  1. <?php
  2. include('config.php');
  3. $mydb = new db();
  4. $conn = $mydb->connect();
  5.  
  6. if(isset($_POST["query"]))
  7. {
  8.  
  9. $q = $_POST["query"];
  10.    
  11. $results = $conn->prepare("SELECT * FROM customer WHERE customerFN LIKE '%" . $q . "%'
  12. OR customerID LIKE '%".$q."%'
  13. OR customerLN LIKE '%".$q."%'
  14. OR customerAddress LIKE '%".$q."%'
  15. OR customerAge LIKE '%".$q."%'
  16. ");
  17.  
  18. }
  19. else
  20. {
  21.  
  22.  $results = $conn->prepare("SELECT * FROM customer ");
  23.  
  24. }
  25.  
  26. $results->execute();
  27. while($row = $results->fetch(PDO::FETCH_ASSOC))
  28. {
  29.      echo '<tr onclick="javascript:showRow(this);">' .
  30.     '<td>' . $row['customerID'] . '</td>' .
  31.     '<td>' . $row['customerFN'] . '</td>' .
  32.     '<td>' . $row['customerLN'] . '</td>' .
  33.     '<td>' . $row['customerAge'] . '</td>' .
  34.     '</tr>';
  35. }
  36. ?>

Código Javascript:
Ver original
  1. <script type="text/javascript">
  2. $(document).ready(function(){
  3.  
  4.  load_data();
  5.  
  6.  function load_data(query)
  7.  {
  8.   $.ajax({
  9.    url:"fetch.php",
  10.    method:"POST",
  11.    data:{query:query},
  12.    success:function(data)
  13.    {
  14.     $('#result').html(data);
  15.    }
  16.   });
  17.  }
  18.  
  19.  $('#search_text').keyup(function(){
  20.   var search = $(this).val();
  21.   if(search != '')
  22.   {
  23.    load_data(search);
  24.   }
  25.   else
  26.   {
  27.    load_data();
  28.   }
  29.  });
  30. });
  31.  
  32. function showRow(row)
  33. {
  34.     var x=row.cells;
  35.     document.getElementById("custID").value = x[0].innerHTML;
  36.     document.getElementById("fname").value = x[1].innerHTML;
  37.     document.getElementById("lname").value = x[2].innerHTML;
  38. }
  39. </script>

Código HTML:
Ver original
  1. <script src="js/jquery-1.11.3-jquery.min.js"></script>
  2.  
  3. <!-- BUSQUEDA Y DESPLIEGA EL RESULTADO EN UNA LISTA  -->
  4. <div class="form-group">
  5.     <div class="input-group">
  6.         <span class="input-group-addon">Search</span>
  7.         <input type="text" name="search_text" id="search_text" placeholder="Search ..." class="form-control" />
  8.     </div>
  9. </div>
  10. <!-- EL RESULTADO ES ASÍ  -->
  11. || ID   ||   FIRSTNAME    ||     LASTNAME     |||
  12. || 1    ||     Lily       ||    James         |||
  13. || 2    ||     Pablo      ||    Marmol        |||
  14. || 3    ||     Pedro      ||   Pica Piedra    |||
  15.  
  16.  
  17.  
  18. <!-- LA IDEA ES QUE SE VEA EN EL MISMO CUADRO DE TEXTO COMO UN LIVE SEARCH  -->
  19. En el campo de texto Busco a: Pablo
  20. Resultado: Lista de palabras con 'P'
  21. ---------------------
  22. |   Pablo Marmol    | <!-- CLIC AL NOMBRE PARA MOSTRAR EN LOS INPUT'S -->
  23.  
  24.  
  25. <!-- AQUI EL RESULTADO AL HACER CLIC AL NOMBRE -->
  26. <form class="form-horizontal" method="post">
  27.     <div class="form-group">
  28.         <label class="control-label col-sm-3">ID:</label>
  29.             <div class="col-sm-9">
  30.                   <input type="text" class="form-control" id="custID" required placeholder="Customer ID" name="custID">
  31.             </div>
  32.     </div>
  33.     <div class="form-group">
  34.         <label class="control-label col-sm-3">First Name:</label>
  35.             <div class="col-sm-9">
  36.                   <input type="text" class="form-control" id="fname" required placeholder="First Name" name="fname" >
  37.             </div>
  38.     </div>
  39.     <div class="form-group">
  40.         <label class="control-label col-sm-3">Last Name:</label>
  41.             <div class="col-sm-9">
  42.                   <input type="text" class="form-control" id="lname" required placeholder="Last Name" name="lname">
  43.             </div>
  44.     </div>
  45. </form>
  #2 (permalink)  
Antiguo 30/03/2021, 20:13
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: live search php

Si te refieres a que buscas mostrar una lista desplegable con los resultados de la búsqueda debajo de la caja de texto en donde se escribe el dato a buscar, esto puede servirte.

__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 31/03/2021, 08:27
 
Fecha de Ingreso: abril-2006
Mensajes: 583
Antigüedad: 18 años, 7 meses
Puntos: 120
Respuesta: live search php

otra forma es usar javascript pero a la vez hacer uso de HTML5 el <datalist>

https://developer.mozilla.org/es/doc...ement/datalist
__________________
Mis aportes te ayudaron??, te hicieron ahorrar valiosos tiempo??, si quieres puedes agradecerme con un Gracias o con una donacion
https://paypal.com/pools/c/8lmNLmWnG9
  #4 (permalink)  
Antiguo 31/03/2021, 18:30
 
Fecha de Ingreso: noviembre-2004
Ubicación: NULL
Mensajes: 655
Antigüedad: 20 años
Puntos: 6
Respuesta: live search php

Cita:
Iniciado por tuadmin Ver Mensaje
otra forma es usar javascript pero a la vez hacer uso de HTML5 el <datalist>

https://developer.mozilla.org/es/doc...ement/datalist
muy amable tuadmin y se agradece pero me quedo en "idioma chino" y no hay ejemplos en producción, seguire esperando a ver que sugerencias mas pueda tener si se puede mejorar la idea o exista otro método similar.
  #5 (permalink)  
Antiguo 31/03/2021, 18:39
 
Fecha de Ingreso: noviembre-2004
Ubicación: NULL
Mensajes: 655
Antigüedad: 20 años
Puntos: 6
Respuesta: live search php

Cita:
Iniciado por Alexis88 Ver Mensaje
Si te refieres a que buscas mostrar una lista desplegable con los resultados de la búsqueda debajo de la caja de texto en donde se escribe el dato a buscar, esto puede servirte.

Hola Alexis88 gracias la idea es buena, aun que intente correr en un campo de texto y no se pudo. la idea es realizar la búsqueda y traer la info en campo de texto con el fin de enviarlo por un método POST, ya posteriormente guardarlo en el SQL

probe asi en el index.html y nada
Código HTML:
Ver original
  1. <input type = "text" name = "fname" class = "dato" />
  #6 (permalink)  
Antiguo 01/04/2021, 10:51
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: live search php

Cita:
Iniciado por pilucho Ver Mensaje
Hola Alexis88 gracias la idea es buena, aun que intente correr en un campo de texto y no se pudo. la idea es realizar la búsqueda y traer la info en campo de texto con el fin de enviarlo por un método POST, ya posteriormente guardarlo en el SQL

probe asi en el index.html y nada
Código HTML:
Ver original
  1. <input type = "text" name = "fname" class = "dato" />
Me gustaría ver qué fue lo que probaste en JavaScript y PHP para poder guiarte. ¿Intentaste descargando el ejemplo y probándolo?
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #7 (permalink)  
Antiguo 01/04/2021, 10:57
 
Fecha de Ingreso: noviembre-2004
Ubicación: NULL
Mensajes: 655
Antigüedad: 20 años
Puntos: 6
Respuesta: live search php

Cita:
Iniciado por Alexis88 Ver Mensaje
Me gustaría ver qué fue lo que probaste en JavaScript y PHP para poder guiarte. ¿Intentaste descargando el ejemplo y probándolo?

asi

Código HTML:
Ver original
  1. <!DOCTYPE html>
  2. <html lang = "es">
  3.     <head>
  4.         <meta charset = "utf-8" />
  5.         <title>Buscador</title>
  6.         <link rel = "stylesheet" type = "text/css" href = "jquery-ui-css.css" />
  7.         <link rel = "stylesheet" type = "text/css" href = "style.css">
  8.     </head>
  9.     <body>
  10.         <section id = "main">
  11.             <label for = "buscar">Buscar:</label>
  12.             <input type = "text" name = "buscar" id = "buscar" placeholder = "Ingresa el dato a buscar" autofocus />
  13.         </section>
  14.         <section id = "response">
  15.             <img />
  16.             <div id = "datos">
  17.                 <header>
  18.                     <h1></h1>
  19.                 </header>
  20.  
  21.                 <p>
  22.                     <label class = "ref">Nombre</label>
  23.                     <!--<label class = "dato"></label>-->
  24.                     <input type = "text" name = "fname" class = "dato" />
  25.                 </p>
  26.                
  27.                 <p>
  28.                     <label class = "ref">Apellido:</label>
  29.                     <label class = "dato"></label>
  30.                 </p>
  31.  
  32.                 <p>
  33.                     <label class = "ref">E-Mail:</label>
  34.                     <label class = "dato"></label>
  35.                 </p>
  36.             </div>
  37.         </section>
  38.         <script type = "text/javascript" src = "jquery.js"></script>
  39.         <script type = "text/javascript" src = "jquery-ui.js"></script>
  40.         <script type = "text/javascript" src = "script.js"></script>
  41.     </body>
  42. </html>
  #8 (permalink)  
Antiguo 01/04/2021, 13:11
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: live search php

¿Qué se muestra en la consola del navegador? Ten en cuenta que en el ejemplo se usa una base de datos propia. También toma en cuenta las rutas de los archivos insertados.
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #9 (permalink)  
Antiguo 01/04/2021, 16:07
 
Fecha de Ingreso: noviembre-2004
Ubicación: NULL
Mensajes: 655
Antigüedad: 20 años
Puntos: 6
Respuesta: live search php

Cita:
Iniciado por Alexis88 Ver Mensaje
¿Qué se muestra en la consola del navegador? Ten en cuenta que en el ejemplo se usa una base de datos propia. También toma en cuenta las rutas de los archivos insertados.

es el db de ejemplo que pusiste de muestra y usando el mismo campo no me arroja nada la idea era que muestre el contenido en un input


Código HTML:
Ver original
  1. <label class = "ref">Nombre</label>
  2. <!--<label class = "dato"></label>-->
  3. <input type = "text" name = "nombre" class = "dato" />
  #10 (permalink)  
Antiguo 01/04/2021, 16:12
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: live search php

El resultado tiene que ser el mismo que en el ejemplo. Si no estás obteniendo el resultado, probablemente se esté mostrando un mensaje de error en la consola del navegador. Ayudaría mucho saber qué mensaje se muestra.
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #11 (permalink)  
Antiguo 01/04/2021, 16:40
 
Fecha de Ingreso: noviembre-2004
Ubicación: NULL
Mensajes: 655
Antigüedad: 20 años
Puntos: 6
Respuesta: live search php

Cita:
Iniciado por Alexis88 Ver Mensaje
El resultado tiene que ser el mismo que en el ejemplo. Si no estás obteniendo el resultado, probablemente se esté mostrando un mensaje de error en la consola del navegador. Ayudaría mucho saber qué mensaje se muestra.
Asi es amigo el ejemplo funciona pero, no logro hacerlo correr en un campo input
por ejemplo: "Fabiola Bartens Amaro" sus nombres en un input.. es decir en un cuadro de texto
  #12 (permalink)  
Antiguo 01/04/2021, 16:44
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: live search php

Si se te complica trabajar con ese código, tengo otro que hice con JavaScript nativo. Puedes copiarlo desde aquí.

Básicamente necesitas añadir en el documento HTML el archivo con dicho código:

Código HTML:
Ver original
  1. <script type="text/javascript" src="autocomplete-5.0.js" />

En otro archivo, necesitas crear la instancia del objeto:

Código Javascript:
Ver original
  1. let inputBuscar = document.querySelector("#idInput"), //<input> en donde se escribirá
  2.     autocomplete = new autocomplete(); //Instancia del objeto
  3.  
  4. autocomplete.load({
  5.     words: "buscar.php", //Archivo en donde se realizará la búsqueda
  6.     target: inputBuscar, //<input> en donde se escribirá y mostrarán los resultados
  7.     value: "name" //Nombre del índice que contiene el dato a mostrarse
  8. });

Y un archivo en el lado del servidor en donde se realizará la búsqueda en la base de datos:

Código PHP:
Ver original
  1. $dato = $_GET['term'];
  2. $query = "SELECT fullName FROM employees WHERE name LIKE '%$dato%'";
  3. $results = mysqli_query($connection, $query);
  4. $respuesta = [];
  5.  
  6. if (mysqli_num_rows($results)){
  7.     while ($rows = mysqli_fetch_assoc($results)){
  8.         $respuesta[] = ['name' => $rows['fullName']];
  9.     }
  10. }
  11.  
  12. echo json_encode($respuesta);

En síntesis, se realiza una búsqueda en el archivo PHP a partir del dato escrito en la caja de texto, y todos los resultados se guardan en un arreglo que luego se devuelve como un objeto JSON, el cual, finalmente, será empleado por el objeto autocomplete para mostrar los datos debajo de la caja de texto en donde se escribió el dato a buscar.

No olvides que el de arriba es código de ejemplo. Es necesario que lo adaptes a lo que tienes para que funcione.

__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #13 (permalink)  
Antiguo 01/04/2021, 16:55
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: live search php

Cita:
Iniciado por pilucho Ver Mensaje
[...] sus nombres en un input.. es decir en un cuadro de texto
Si necesitas mostrar el dato en otro campo de texto, haría falta cambiar el código anterior por este:

Código Javascript:
Ver original
  1. let inputBuscar = document.querySelector("#idInputA"), //<input> en donde se escribirá
  2.     inputFinal = document.querySelector("#idInputB"), //<input> en donde se mostrará el dato seleccionado de la lista desplegable
  3.     autocomplete = new autocomplete(); //Instancia del objeto
  4.  
  5. autocomplete.load({
  6.     words: "buscar.php", //Archivo en donde se realizará la búsqueda
  7.     target: inputBuscar, //<input> en donde se escribirá y mostrarán los resultados
  8.     value: "name", //Nombre del índice que contiene el dato a mostrarse
  9.     select: function(data){
  10.         inputFinal.value = data.name; //Aquí se mostrará el dato seleccionado de la lista desplegable
  11.     }
  12. });
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #14 (permalink)  
Antiguo 01/04/2021, 17:11
 
Fecha de Ingreso: noviembre-2004
Ubicación: NULL
Mensajes: 655
Antigüedad: 20 años
Puntos: 6
Respuesta: live search php

Cita:
Iniciado por Alexis88 Ver Mensaje
Si se te complica trabajar con ese código, tengo otro que hice con JavaScript nativo. Puedes copiarlo desde aquí.

Básicamente necesitas añadir en el documento HTML el archivo con dicho código:

Código HTML:
Ver original
  1. <script type="text/javascript" src="autocomplete-5.0.js" />

En otro archivo, necesitas crear la instancia del objeto:

Código Javascript:
Ver original
  1. let inputBuscar = document.querySelector("#idInput"), //<input> en donde se escribirá
  2.     autocomplete = new autocomplete(); //Instancia del objeto
  3.  
  4. autocomplete.load({
  5.     words: "buscar.php", //Archivo en donde se realizará la búsqueda
  6.     target: inputBuscar, //<input> en donde se escribirá y mostrarán los resultados
  7.     value: "name" //Nombre del índice que contiene el dato a mostrarse
  8. });

Y un archivo en el lado del servidor en donde se realizará la búsqueda en la base de datos:

Código PHP:
Ver original
  1. $dato = $_GET['term'];
  2. $query = "SELECT fullName FROM employees WHERE name LIKE '%$dato%'";
  3. $results = mysqli_query($connection, $query);
  4. $respuesta = [];
  5.  
  6. if (mysqli_num_rows($results)){
  7.     while ($rows = mysqli_fetch_assoc($results)){
  8.         $respuesta[] = ['name' => $rows['fullName']];
  9.     }
  10. }
  11.  
  12. echo json_encode($respuesta);

En síntesis, se realiza una búsqueda en el archivo PHP a partir del dato escrito en la caja de texto, y todos los resultados se guardan en un arreglo que luego se devuelve como un objeto JSON, el cual, finalmente, será empleado por el objeto autocomplete para mostrar los datos debajo de la caja de texto en donde se escribió el dato a buscar.

No olvides que el de arriba es código de ejemplo. Es necesario que lo adaptes a lo que tienes para que funcione.







No me funciono




Código Javascript:
Ver original
  1. let inputBuscar = document.querySelector("#idInputA"), //<input> en donde se escribirá
  2.     inputFinal = document.querySelector("#idInputB"), //<input> en donde se mostrará el dato seleccionado de la lista desplegable
  3.     autocomplete = new autocomplete(); //Instancia del objeto
  4.  
  5. autocomplete.load({
  6.     words: "buscar2.php", //Archivo en donde se realizará la búsqueda
  7.     target: inputBuscar, //<input> en donde se escribirá y mostrarán los resultados
  8.     value: "nombre", //Nombre del índice que contiene el dato a mostrarse
  9.     select: function(data){
  10.         inputFinal.value = data.nombre; //Aquí se mostrará el dato seleccionado de la lista desplegable
  11.     }
  12. });


Código HTML:
Ver original
  1. <!DOCTYPE html>
  2. <html lang = "es">
  3.     <head>
  4.         <meta charset = "utf-8" />
  5.         <title>Buscador</title>
  6.         <link rel = "stylesheet" type = "text/css" href = "jquery-ui-css.css" />
  7.         <link rel = "stylesheet" type = "text/css" href = "style.css">
  8.     </head>
  9.     <body>
  10.         <section id = "main">
  11.             <label for = "buscar">Buscar:</label>
  12.             <input type = "text" name = "buscar" id = "buscar" placeholder = "Ingresa el dato a buscar" autofocus />
  13.         </section>
  14.         <section id = "response">
  15.             <img />
  16.             <div id = "datos">
  17.                 <header>
  18.                     <h1></h1>
  19.                 </header>
  20.  
  21.                 <p>
  22.                     <label class = "ref">Nombre</label>
  23.                     <input type = "text" name = "nombre" class = "dato" />
  24.                 </p>
  25.                
  26.                 <p>
  27.                     <label class = "ref">Apellido:</label>
  28.                     <label class = "dato"></label>
  29.                 </p>
  30.  
  31.                 <p>
  32.                     <label class = "ref">E-Mail:</label>
  33.                     <label class = "dato"></label>
  34.                 </p>
  35.             </div>
  36.         </section>
  37.         <script type = "text/javascript" src = "jquery.js"></script>
  38.         <script type = "text/javascript" src = "jquery-ui.js"></script>
  39.         <script type = "text/javascript" src = "script2.js"></script>
  40.         <script type = "text/javascript" src = "autocomplete-5.0.js"></script>
  41.     </body>
  42. </html>




Código PHP:
Ver original
  1. <?php
  2. $dato = $_GET['term'];
  3. $query = "SELECT * FROM buscar WHERE nombre LIKE '%$dato%'";
  4. $results = mysqli_query($connection, $query);
  5. $respuesta = [];
  6.  
  7. if (mysqli_num_rows($results)){
  8.     while ($rows = mysqli_fetch_assoc($results)){
  9.         $respuesta[] = ['nombre' => $rows['nombre']];
  10.     }
  11. }
  12.  
  13. echo json_encode($respuesta);
  14. ?>
  #15 (permalink)  
Antiguo 01/04/2021, 17:25
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: live search php

Tienes que cambiar los id de los selectores en el código JavaScript (lo de "idInput1" e "idInput2" es de ejemplo). Además, el archivo del autocomplete tiene que estar incluido antes que el código en donde haces la instancia del objeto (el archivo scripts2.js). Asegúrate, también, de que tu variable de conexión a la base de datos en el archivo PHP sea la misma que estás usando en tu proyecto. Recuerda que el código que te muestro es de ejemplo.
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Última edición por Alexis88; 01/04/2021 a las 17:32 Razón: Acotación
  #16 (permalink)  
Antiguo 01/04/2021, 18:06
 
Fecha de Ingreso: noviembre-2004
Ubicación: NULL
Mensajes: 655
Antigüedad: 20 años
Puntos: 6
Respuesta: live search php

Cita:
Iniciado por Alexis88 Ver Mensaje
Tienes que cambiar los id de los selectores en el código JavaScript (lo de "idInput1" e "idInput2" es de ejemplo). Además, el archivo del autocomplete tiene que estar incluido antes que el código en donde haces la instancia del objeto (el archivo scripts2.js). Asegúrate, también, de que tu variable de conexión a la base de datos en el archivo PHP sea la misma que estás usando en tu proyecto. Recuerda que el código que te muestro es de ejemplo.
hola amigo ya lo cambie al parecer no funciona. estoy usando el DB del ejemplo

index.html
Código HTML:
Ver original
  1. <!DOCTYPE html>
  2. <html lang = "es">
  3.     <head>
  4.         <meta charset = "utf-8" />
  5.         <title>Buscador</title>
  6.         <link rel = "stylesheet" type = "text/css" href = "jquery-ui-css.css" />
  7.         <link rel = "stylesheet" type = "text/css" href = "style.css">
  8.         <script type = "text/javascript" src = "autocomplete-5.0.js"></script>
  9.     </head>
  10.     <body>
  11.         <section id = "main">
  12.             <label for = "buscar">Buscar:</label>
  13.             <input type = "text" name = "buscar" id = "buscar" placeholder = "Ingresa el dato a buscar" autofocus />
  14.         </section>
  15.         <section id = "response">
  16.             <img />
  17.             <div id = "datos">
  18.                 <header>
  19.                     <h1></h1>
  20.                 </header>
  21.  
  22.                 <p>
  23.                     <label class = "ref">Nombre</label>
  24.                     <input type = "text" name = "nombre" class = "dato" />
  25.                 </p>
  26.                
  27.                 <p>
  28.                     <label class = "ref">Apellido:</label>
  29.                     <label class = "dato"></label>
  30.                 </p>
  31.  
  32.                 <p>
  33.                     <label class = "ref">E-Mail:</label>
  34.                     <label class = "dato"></label>
  35.                 </p>
  36.             </div>
  37.         </section>
  38.         <script type = "text/javascript" src = "jquery.js"></script>
  39.         <script type = "text/javascript" src = "jquery-ui.js"></script>
  40.         <script type = "text/javascript" src = "script2.js"></script>
  41.        
  42.     </body>
  43. </html>



script2.js
Código Javascript:
Ver original
  1. let inputBuscar = document.querySelector("#nombre"), //<input> en donde se escribirá
  2.     inputFinal = document.querySelector("#nombre"), //<input> en donde se mostrará el dato seleccionado de la lista desplegable
  3.     autocomplete = new autocomplete(); //Instancia del objeto
  4.  
  5. autocomplete.load({
  6.     words: "buscar2.php", //Archivo en donde se realizará la búsqueda
  7.     target: inputBuscar, //<input> en donde se escribirá y mostrarán los resultados
  8.     value: "nombre", //Nombre del índice que contiene el dato a mostrarse
  9.     select: function(data){
  10.         inputFinal.value = data.nombre; //Aquí se mostrará el dato seleccionado de la lista desplegable
  11.     }
  12. });

buscar2.php
Código PHP:
Ver original
  1. <?php
  2. $dato = $_GET['term'];
  3. $query = "SELECT * FROM buscar WHERE nombre LIKE '%$dato%'";
  4. $results = mysqli_query($connection, $query);
  5. $respuesta = [];
  6.  
  7. if (mysqli_num_rows($results)){
  8.     while ($rows = mysqli_fetch_assoc($results)){
  9.         $respuesta[] = ['nombre' => $rows['nombre']];
  10.     }
  11. }
  12.  
  13. echo json_encode($respuesta);
  14. ?>
  #17 (permalink)  
Antiguo 01/04/2021, 18:08
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: live search php

No estás usando los id correctos porque tus campos de texto no tienen id sino name.

Estas dos líneas:

Código Javascript:
Ver original
  1. let inputBuscar = document.querySelector("#nombre"),
  2.     inputFinal = document.querySelector("#nombre"),

Tienen que ser así:

Código Javascript:
Ver original
  1. let inputBuscar = document.querySelector("[name=buscar]"),
  2.     inputFinal = document.querySelector("[name=nombre]"),
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #18 (permalink)  
Antiguo 01/04/2021, 18:30
 
Fecha de Ingreso: noviembre-2004
Ubicación: NULL
Mensajes: 655
Antigüedad: 20 años
Puntos: 6
Respuesta: live search php

Cita:
Iniciado por Alexis88 Ver Mensaje
No estás usando los id correctos porque tus campos de texto no tienen id sino name.

Estas dos líneas:

Código Javascript:
Ver original
  1. let inputBuscar = document.querySelector("#nombre"),
  2.     inputFinal = document.querySelector("#nombre"),

Tienen que ser así:

Código Javascript:
Ver original
  1. let inputBuscar = document.querySelector("[name=buscar]"),
  2.     inputFinal = document.querySelector("[name=nombre]"),
Lo cambie y nada y resto del index.html y buscar2.php esta como publique arriba y nada seguramente ya no funciona este script


script2.js
Código Javascript:
Ver original
  1. let inputBuscar = document.querySelector("[name=buscar]"), //<input> en donde se escribirá
  2.     inputFinal = document.querySelector("[name=nombre]"), //<input> en donde se mostrará el dato seleccionado de la lista desplegable
  3.     autocomplete = new autocomplete(); //Instancia del objeto
  4.  
  5. autocomplete.load({
  6.     words: "buscar2.php", //Archivo en donde se realizará la búsqueda
  7.     target: inputBuscar, //<input> en donde se escribirá y mostrarán los resultados
  8.     value: "nombre", //Nombre del índice que contiene el dato a mostrarse
  9.     select: function(data){
  10.         inputFinal.value = data.nombre; //Aquí se mostrará el dato seleccionado de la lista desplegable
  11.     }
  12. });
  #19 (permalink)  
Antiguo 01/04/2021, 18:37
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: live search php

¿Hiciste esto?

Cita:
Iniciado por Alexis88 Ver Mensaje
[...] Además, el archivo del autocomplete tiene que estar incluido antes que el código en donde haces la instancia del objeto (el archivo scripts2.js). [...]
No olvides actualizar la página con CTRL + F5 luego de efectuar los cambios para que se limpie la caché del navegador y se ejecute el código actualizado. Si nuevamente sigue sin funcionar, por favor, muestra el mensaje que aparece en la consola del navegador.
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #20 (permalink)  
Antiguo 01/04/2021, 18:41
 
Fecha de Ingreso: noviembre-2004
Ubicación: NULL
Mensajes: 655
Antigüedad: 20 años
Puntos: 6
Respuesta: live search php

Cita:
Iniciado por Alexis88 Ver Mensaje
No estás usando los id correctos porque tus campos de texto no tienen id sino name.

Estas dos líneas:

Código Javascript:
Ver original
  1. let inputBuscar = document.querySelector("#nombre"),
  2.     inputFinal = document.querySelector("#nombre"),

Tienen que ser así:

Código Javascript:
Ver original
  1. let inputBuscar = document.querySelector("[name=buscar]"),
  2.     inputFinal = document.querySelector("[name=nombre]"),
Lo cambie y nada y resto del index.html y buscar2.php esta como publique arriba y nada seguramente ya no funciona este script


script2.js
Código Javascript:
Ver original
  1. let inputBuscar = document.querySelector("[name=buscar]"), //<input> en donde se escribirá
  2.     inputFinal = document.querySelector("[name=nombre]"), //<input> en donde se mostrará el dato seleccionado de la lista desplegable
  3.     autocomplete = new autocomplete(); //Instancia del objeto
  4.  
  5. autocomplete.load({
  6.     words: "buscar2.php", //Archivo en donde se realizará la búsqueda
  7.     target: inputBuscar, //<input> en donde se escribirá y mostrarán los resultados
  8.     value: "nombre", //Nombre del índice que contiene el dato a mostrarse
  9.     select: function(data){
  10.         inputFinal.value = data.nombre; //Aquí se mostrará el dato seleccionado de la lista desplegable
  11.     }
  12. });

si amigo aqui te vuelvo a copiar lo que deje arriba

Código HTML:
Ver original
  1. <!DOCTYPE html>
  2. <html lang = "es">
  3.     <head>
  4.         <meta charset = "utf-8" />
  5.         <title>Buscador</title>
  6.         <link rel = "stylesheet" type = "text/css" href = "jquery-ui-css.css" />
  7.         <link rel = "stylesheet" type = "text/css" href = "style.css">
  8.         <script type = "text/javascript" src = "autocomplete-5.0.js"></script>
  9.     </head>
  10.     <body>
  11.         <section id = "main">
  12.             <label for = "buscar">Buscar:</label>
  13.             <input type = "text" name = "buscar" id = "buscar" placeholder = "Ingresa el dato a buscar" autofocus />
  14.         </section>
  15.         <section id = "response">
  16.             <img />
  17.             <div id = "datos">
  18.                 <header>
  19.                     <h1></h1>
  20.                 </header>
  21.  
  22.                 <p>
  23.                     <label class = "ref">Nombre</label>
  24.                     <input type = "text" name = "nombre" class = "dato" />
  25.                 </p>
  26.                
  27.                 <p>
  28.                     <label class = "ref">Apellido:</label>
  29.                     <label class = "dato"></label>
  30.                 </p>
  31.  
  32.                 <p>
  33.                     <label class = "ref">E-Mail:</label>
  34.                     <label class = "dato"></label>
  35.                 </p>
  36.             </div>
  37.         </section>
  38.         <script type = "text/javascript" src = "jquery.js"></script>
  39.         <script type = "text/javascript" src = "jquery-ui.js"></script>
  40.         <script type = "text/javascript" src = "script2.js"></script>
  41.        
  42.     </body>
  43. </html>
  #21 (permalink)  
Antiguo 01/04/2021, 18:45
 
Fecha de Ingreso: noviembre-2004
Ubicación: NULL
Mensajes: 655
Antigüedad: 20 años
Puntos: 6
Respuesta: live search php

creo que caduco el script y supongo que es solo para un nombre y no los demás nombres la idea era que se muestre los datos del Live Search en un campo de texto todo el contenido de la tabla item 1, item 2, item 3 etc pero en se script solo es para un nombre y no esta funcionando :(
  #22 (permalink)  
Antiguo 01/04/2021, 19:05
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: live search php

Voy a tratar de ponerlo lo más simple posible.

En un nuevo proyecto (uno pequeño, de prueba), ten estos archivos:

1. Un archivo HTML:

Código HTML:
Ver original
  1. <!DOCTYPE html>
  2. <html lang="es">
  3.     <meta charset="utf-8" />
  4.     <title>Buscador</title>
  5. </head>
  6.     <form>
  7.         <section>
  8.             <label>Buscar por nombre:</label>
  9.             <input type="search" name="buscar" autofocus />
  10.         </section>
  11.  
  12.         <section>
  13.             <label>Resultado seleccionado:</label>
  14.             <input type="text" name="nombre" readOnly />
  15.         </section>
  16.     </form>
  17.  
  18.     <script type="text/javascript" src="autocomplete-5.0.js"></script>
  19.     <script type="text/javascript" src="script.js"></script>
  20. </body>
  21. </html>

2. Un archivo JS (en este caso, lo nombraré "script.js"):

Código Javascript:
Ver original
  1. let inputBuscar = document.querySelector("[name=buscar]"),
  2.     inputFinal = document.querySelector("[name=nombre]"),
  3.     autocomplete = new autocomplete();
  4.  
  5. autocomplete.load({
  6.     words: "buscar.php",
  7.     target: inputBuscar,
  8.     value: "nombre",
  9.     async: true,
  10.     select: function(data){
  11.         inputFinal.value = data.nombre;
  12.     }
  13. });

3. Un archivo PHP:

Código PHP:
Ver original
  1. $mysqli = new mysqli('server', 'user', 'password', 'database');
  2.  
  3. if ($mysqli->connect_errno) exit('No se pudo realizar la conexión: ' . $mysqli->connect_error);
  4.  
  5. $dato = $mysqli->real_escape_string($_GET['term']);
  6. $query = "SELECT nombre FROM tabla WHERE nombre LIKE '%$dato%'";
  7. $results = $mysqli->query($query) or exit($mysqli->errno . ': ' . $mysqli->error);
  8. $respuesta = [];
  9.  
  10. if ($results->num_rows){
  11.     while ($rows = $results->fetch_assoc()){
  12.         $respuesta[] = ['nombre' => $rows['nombre']];
  13.     }
  14. }
  15.  
  16. echo json_encode($respuesta);

Ten todos los archivos en el mismo directorio (para fines de la prueba). Para esto, necesitas tener una base de datos que contenga una tabla con el campo "nombre" y, por supuesto, que posea datos para dicho campo. Todo esto tenlo en un nuevo directorio en tu servidor web, y ejecútalo como un proyecto nuevo.

IMPORTANTE: Recuerda que estoy empleando datos de ejemplo, como los datos de conexión a la base de datos, la tabla y el campo de la tabla. Tienes que reemplazarlos por datos reales que estés utilizando. En el caso de que no obtengas resultados, fíjate en la consola del navegador (pulsa la tecla F12 y selecciona la pestaña Console antes de ejecutar el código) para corroborar si se está mostrando algún mensaje de error. En caso de haberlo, por favor, muéstralo acá, de otro modo, no se te podrá ayudar. Si realizas algún cambio, antes de volver a probar es necesario que pulses la combinación de teclas CTRL + F5 para que se limpie la caché del navegador y, de este modo, se ejecute el código actualizado. Trata de seguir lo explicado paso a paso para que no tengas más problemas.

__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #23 (permalink)  
Antiguo 01/04/2021, 19:15
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: live search php

Cita:
Iniciado por pilucho Ver Mensaje
creo que caduco el script y supongo que es solo para un nombre y no los demás nombres [...]
El script no puede caducar. No es un archivo de pago.
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #24 (permalink)  
Antiguo 02/04/2021, 12:30
 
Fecha de Ingreso: noviembre-2004
Ubicación: NULL
Mensajes: 655
Antigüedad: 20 años
Puntos: 6
Respuesta: live search php

Cita:
Iniciado por Alexis88 Ver Mensaje
Voy a tratar de ponerlo lo más simple posible.

En un nuevo proyecto (uno pequeño, de prueba), ten estos archivos:

1. Un archivo HTML:

Código HTML:
Ver original
  1. <!DOCTYPE html>
  2. <html lang="es">
  3.     <meta charset="utf-8" />
  4.     <title>Buscador</title>
  5. </head>
  6.     <form>
  7.         <section>
  8.             <label>Buscar por nombre:</label>
  9.             <input type="search" name="buscar" autofocus />
  10.         </section>
  11.  
  12.         <section>
  13.             <label>Resultado seleccionado:</label>
  14.             <input type="text" name="nombre" readOnly />
  15.         </section>
  16.     </form>
  17.  
  18.     <script type="text/javascript" src="autocomplete-5.0.js"></script>
  19.     <script type="text/javascript" src="script.js"></script>
  20. </body>
  21. </html>

2. Un archivo JS (en este caso, lo nombraré "script.js"):

Código Javascript:
Ver original
  1. let inputBuscar = document.querySelector("[name=buscar]"),
  2.     inputFinal = document.querySelector("[name=nombre]"),
  3.     autocomplete = new autocomplete();
  4.  
  5. autocomplete.load({
  6.     words: "buscar.php",
  7.     target: inputBuscar,
  8.     value: "nombre",
  9.     async: true,
  10.     select: function(data){
  11.         inputFinal.value = data.nombre;
  12.     }
  13. });

3. Un archivo PHP:

Código PHP:
Ver original
  1. $mysqli = new mysqli('server', 'user', 'password', 'database');
  2.  
  3. if ($mysqli->connect_errno) exit('No se pudo realizar la conexión: ' . $mysqli->connect_error);
  4.  
  5. $dato = $mysqli->real_escape_string($_GET['term']);
  6. $query = "SELECT nombre FROM tabla WHERE nombre LIKE '%$dato%'";
  7. $results = $mysqli->query($query) or exit($mysqli->errno . ': ' . $mysqli->error);
  8. $respuesta = [];
  9.  
  10. if ($results->num_rows){
  11.     while ($rows = $results->fetch_assoc()){
  12.         $respuesta[] = ['nombre' => $rows['nombre']];
  13.     }
  14. }
  15.  
  16. echo json_encode($respuesta);

Ten todos los archivos en el mismo directorio (para fines de la prueba). Para esto, necesitas tener una base de datos que contenga una tabla con el campo "nombre" y, por supuesto, que posea datos para dicho campo. Todo esto tenlo en un nuevo directorio en tu servidor web, y ejecútalo como un proyecto nuevo.

IMPORTANTE: Recuerda que estoy empleando datos de ejemplo, como los datos de conexión a la base de datos, la tabla y el campo de la tabla. Tienes que reemplazarlos por datos reales que estés utilizando. En el caso de que no obtengas resultados, fíjate en la consola del navegador (pulsa la tecla F12 y selecciona la pestaña Console antes de ejecutar el código) para corroborar si se está mostrando algún mensaje de error. En caso de haberlo, por favor, muéstralo acá, de otro modo, no se te podrá ayudar. Si realizas algún cambio, antes de volver a probar es necesario que pulses la combinación de teclas CTRL + F5 para que se limpie la caché del navegador y, de este modo, se ejecute el código actualizado. Trata de seguir lo explicado paso a paso para que no tengas más problemas.


copie tal y como esta en el ejemplo. cambie los datos de conexión hasta incluí ""include_once 'consultas.php';"" por si faltara y nada no se ve nada
no visualiza en el campo de busqueda.


tabla de ejemplo:
Código SQL:
Ver original
  1. CREATE TABLE `buscar` (
  2.   `id` INT(11) NOT NULL AUTO_INCREMENT,
  3.   `nombre` VARCHAR(150) COLLATE utf8_unicode_ci NOT NULL,
  4.   `apellido` VARCHAR(150) COLLATE utf8_unicode_ci NOT NULL,
  5.   `email` VARCHAR(150) COLLATE utf8_unicode_ci NOT NULL,
  6.   `foto` VARCHAR(255) COLLATE utf8_unicode_ci NOT NULL,
  7.   PRIMARY KEY  (`id`)
  8. ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=6 ;
  9.  
  10. --
  11. -- Volcar la base de datos para la tabla `buscar`
  12. --
  13.  
  14. INSERT INTO `buscar` VALUES (1, 'Juan', 'Perez Fernandez', '[email protected]', 'juan.jpg');
  15. INSERT INTO `buscar` VALUES (2, 'Maria', 'Rodriguez Zegarra', '[email protected]', 'maria.jpg');
  16. INSERT INTO `buscar` VALUES (3, 'Estela', 'Ramirez Villanueva', '[email protected]', 'estela.jpg');
  17. INSERT INTO `buscar` VALUES (4, 'Fabiola', 'Bartens Amaro', '[email protected]', 'fabiola.jpg');
  18. INSERT INTO `buscar` VALUES (5, 'Gonzalo', 'Figueroa Suarez', '[email protected]', 'gonzalo.jpg');
  #25 (permalink)  
Antiguo 02/04/2021, 14:38
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: live search php

Hay un error en el código de ejemplo.

Estas líneas:

Código Javascript:
Ver original
  1. autocomplete = new autocomplete();
  2.  
  3. autocomplete.load({

Cámbialas por estas:

Código Javascript:
Ver original
  1. auto = new autocomplete();
  2.  
  3. auto.load({

Como la palabra autocomplete estaba registrada para la función que genera el autocompletado, se producía un conflicto. Con ese cambio ya tendría que funcionar todo con normalidad. Si no es así, por favor, muestra lo que aparezca en la consola del navegador.

__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Última edición por Alexis88; 02/04/2021 a las 14:48 Razón: Cambio
  #26 (permalink)  
Antiguo 02/04/2021, 15:17
 
Fecha de Ingreso: noviembre-2004
Ubicación: NULL
Mensajes: 655
Antigüedad: 20 años
Puntos: 6
Respuesta: live search php

Cita:
Iniciado por Alexis88 Ver Mensaje
Hay un error en el código de ejemplo.

Estas líneas:

Código Javascript:
Ver original
  1. autocomplete = new autocomplete();
  2.  
  3. autocomplete.load({

Cámbialas por estas:

Código Javascript:
Ver original
  1. auto = new autocomplete();
  2.  
  3. auto.load({

Como la palabra autocomplete estaba registrada para la función que genera el autocompletado, se producía un conflicto. Con ese cambio ya tendría que funcionar todo con normalidad. Si no es así, por favor, muestra lo que aparezca en la consola del navegador.


nada amigo, has probado el script ?

Código Javascript:
Ver original
  1. let inputBuscar = document.querySelector("[name=buscar]"),
  2.     inputFinal = document.querySelector("[name=nombre]"),
  3.     auto = new autocomplete();
  4.  
  5. auto.load({
  6.     words: "buscar.php",
  7.     target: inputBuscar,
  8.     value: "nombre",
  9.     async: true,
  10.     select: function(data){
  11.         inputFinal.value = data.nombre;
  12.     }
  13. });
  #27 (permalink)  
Antiguo 02/04/2021, 15:21
 
Fecha de Ingreso: noviembre-2004
Ubicación: NULL
Mensajes: 655
Antigüedad: 20 años
Puntos: 6
Respuesta: live search php

no deja el foto enviar imagen de URL probare seperando el link

h t t p s : / / prnt .sc /112i0av
  #28 (permalink)  
Antiguo 02/04/2021, 16:06
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: live search php

Cita:
Iniciado por pilucho Ver Mensaje
nada amigo, has probado el script ?
Claro. Fue probándolo que noté el error que corregí en la respuesta anterior. He subido el ejemplo para que puedas probarlo en línea.

Trata de seguir los pasos indicados adaptando todo a lo que posees localmente. Si no funciona, muestra el mensaje de error en la consola del navegador para poder ayudarte.
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #29 (permalink)  
Antiguo 02/04/2021, 16:26
 
Fecha de Ingreso: noviembre-2004
Ubicación: NULL
Mensajes: 655
Antigüedad: 20 años
Puntos: 6
Respuesta: live search php

Cita:
Iniciado por Alexis88 Ver Mensaje
Claro. Fue probándolo que noté el error que corregí en la respuesta anterior. He subido el ejemplo para que puedas probarlo en línea.

Trata de seguir los pasos indicados adaptando todo a lo que posees localmente. Si no funciona, muestra el mensaje de error en la consola del navegador para poder ayudarte.
todo esta igual incluso el php igual, el primer codigo que pusiste como aporte lo descargue y funciona pero solo como <label class = "ref">Nombre</label> etc.. y no como input.


la conexión esta todo OK, solo que no funciona en ningún navegador

Código PHP:
Ver original
  1. $mysqli = new mysqli('localhost', 'root', '', 'testing');
  2.  
  3. if ($mysqli->connect_errno) exit('No se pudo realizar la conexión: ' . $mysqli->connect_error);
  4.  
  5. $dato = $mysqli->real_escape_string($_GET['term']);
  6. $query = "SELECT nombre FROM buscar WHERE nombre LIKE '%$dato%'";
  7. $results = $mysqli->query($query) or exit($mysqli->errno . ': ' . $mysqli->error);
  8. $respuesta = [];
  9.  
  10. if ($results->num_rows){
  11.     while ($rows = $results->fetch_assoc()){
  12.         $respuesta[] = ['nombre' => $rows['nombre']];
  13.     }
  14. }
  15.  
  16. echo json_encode($respuesta);

Última edición por pilucho; 02/04/2021 a las 16:27 Razón: se corto el codigo HIGHLIGHT
  #30 (permalink)  
Antiguo 02/04/2021, 16:29
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: live search php

¿Le colocaste los símbolos de apertura y cerrado del código PHP? Sé que es una pregunta más que básica, pero puede ser que eso se te esté pasando.

Tiene que ser así:

Código PHP:
Ver original
  1. <?php
  2. $mysqli = new mysqli('localhost', 'root', '', 'testing');
  3.  
  4. if ($mysqli->connect_errno) exit('No se pudo realizar la conexión: ' . $mysqli->connect_error);
  5.  
  6. $dato = $mysqli->real_escape_string($_GET['term']);
  7. $query = "SELECT nombre FROM buscar WHERE nombre LIKE '%$dato%'";
  8. $results = $mysqli->query($query) or exit($mysqli->errno . ': ' . $mysqli->error);
  9. $respuesta = [];
  10.  
  11. if ($results->num_rows){
  12.     while ($rows = $results->fetch_assoc()){
  13.         $respuesta[] = ['nombre' => $rows['nombre']];
  14.     }
  15. }
  16.  
  17. echo json_encode($respuesta);
  18. ?>

Si todo está como se indica, tiene que funcionar exactamente como en el ejemplo en línea que te dejé como enlace en la respuesta anterior.

Por favor, no te olvides de mostrar el mensaje de error en la consola del navegador si sigue sin funcionarte.
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Etiquetas: php+ajax
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 14:08.