Foros del Web » Programando para Internet » PHP »

Lista dinamica

Estas en el tema de Lista dinamica en el foro de PHP en Foros del Web. Hola a todos. A ver si me explico bien, y algun alma caritativa me puede orientar como hacer esto. Tengo una lista con todos los ...
  #1 (permalink)  
Antiguo 22/03/2013, 06:32
 
Fecha de Ingreso: marzo-2013
Mensajes: 4
Antigüedad: 11 años
Puntos: 0
Lista dinamica

Hola a todos. A ver si me explico bien, y algun alma caritativa me puede orientar como hacer esto.
Tengo una lista con todos los clientes de una base de datos y quiero ir filtrando dinamicamente registros de esa lista a media que voy escribiendo letras. Ej: tengo 200 clientes en mi lista y si escribo las letras rod, quiero que solo me aparezcan los registros que contengan esas 3 letras por ejemplo los que tengan por apellido rodriguez o se llamen rodrigo.

¿Me podeis decir como hacer esto?

Muchas gracias
  #2 (permalink)  
Antiguo 22/03/2013, 06:50
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 5 meses
Puntos: 175
Respuesta: Lista dinamica

Envias por POST o GET la variable ej: rod

$search = $_GET['variable'];

$sql="SELECT * FROM tabla WHERE nombre LIKE '".$search."%' OR apellido LIKE '".$search."%' or ciudad LIKE ".$search."%'' "

y así... puede probar tambien con esto a ver si te sirve y puede adaptarlo
http://jqueryui.com/autocomplete/

Aunque de por si no es un trabajo exclusivo de PHP, si o si necesitaras Jquery, AJAX u otra tecnología que te ayude a procesarla..

Con PHP traes los resultados del server.. con Jquery hacer el filtro dinamico.
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #3 (permalink)  
Antiguo 22/03/2013, 07:44
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 12 años, 10 meses
Puntos: 76
Respuesta: Lista dinamica

hola

podrias consumir esta api , es justo lo que necesitas

http://www.wannabe.com.co/widgets/Autocompletar/3
  #4 (permalink)  
Antiguo 22/03/2013, 08:37
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 5 meses
Puntos: 175
Respuesta: Lista dinamica

No es un AUTOCOMPLETAR campo lo que necesita en realidad.. necesita un AUTOCOMPLETAR celdas...

o sea si pone ROD

que en la tabla se imprima

NOMBRE | APELLIDO
Rodrigo | Perez
Alberto | Rodriguez

Y si le pone solo RO
NOMBRE | APELLIDO
Rodrigo | Perez
Alberto | Rodriguez
Rogelio | Martinez
Juan | Rojas

pero todo al momento de escribirlo en en tiempo real como sucede en google, solo que en google aparece en el campo de introduccion de texto, el necesita que sea en los resultados... en todo caso el autocomplete se verá si puede ser adaptado para ese fin
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #5 (permalink)  
Antiguo 22/03/2013, 08:44
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 12 años, 10 meses
Puntos: 76
Respuesta: Lista dinamica

ok

entonces lo que necesitas es enviar una peticion al servidor por Ajax cada vez que se escriba en el input, enviandole obviamente el valor del input y hacer una consulta con un LIKE , y retornar los resultados en tabla html,

te hice un ejemplo

index.html


Código HTML:
Ver original
  1.     <title></title>
  2.  
  3.     <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
  4.  
  5.     <script type="text/javascript">
  6.     $(function()
  7.     {
  8.         $(".txt-valor-search").keyup(function()
  9.         {  
  10.             if ($(this).val() != "")
  11.               BuscarUsuario(this)
  12.         });
  13.  
  14.         function BuscarUsuario(e)
  15.         {
  16.             $.post('datos.php',{valorsearch:$(e).val()},function(respuesta)
  17.             {
  18.                 $(".info-result-usuarios").html(respuesta);
  19.             })
  20.         }
  21.     });
  22.     </script>
  23.  
  24. </head>
  25.  
  26. <div style="float:left;width:100%">
  27.     Buscar usuarios: <input type="text" id="valorsearch" class="txt-valor-search">
  28. </div>
  29. <div style="float:left;width:100%" class="info-result-usuarios"></div>
  30. </body>
  31. </html>

datos.php

Código PHP:
Ver original
  1. <?php
  2. EXTRACT($_REQUEST);
  3. $arreglo[] = array("documento"=>"57","name"=>"Paola");
  4. $arreglo[] = array("documento"=>"54","name"=>"Camilo");
  5. $arreglo[] = array("documento"=>"55","name"=>"Messi");
  6. $arreglo[] = array("documento"=>"58","name"=>"Alejandra");
  7.  
  8. $coincidencias = array();
  9. foreach($arreglo as $datos)
  10. {  
  11.         if(strstr($datos["name"],$valorsearch))
  12.         {
  13.             $coincidencias[] = $datos;
  14.         }
  15.    
  16. }
  17. ?>
  18. <table border="0" style="border:1px solid #c1cdcd;font-family:Calibri;border-collapse:separate">
  19.     <tr>
  20.         <td>Documento</td>
  21.         <td>Nombre usuario</td>
  22.     </tr>
  23.     <?php
  24.     foreach($coincidencias as $v)
  25.     {
  26.     ?>
  27.     <tr>
  28.         <td><?php echo $v["documento"];?></td>
  29.         <td><?php echo $v["name"];?></td>
  30.     </tr>  
  31.     <?php  
  32.     }
  33.     ?> 
  34. </table>

Última edición por informacionsys; 22/03/2013 a las 08:57
  #6 (permalink)  
Antiguo 23/03/2013, 02:35
 
Fecha de Ingreso: marzo-2013
Mensajes: 4
Antigüedad: 11 años
Puntos: 0
Respuesta: Lista dinamica

Chicos sois la caña, muchas gracias a todos. Voy a intentar aplicarlo a mi programa.

Mil gracias a todos.
  #7 (permalink)  
Antiguo 23/03/2013, 06:40
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 5 meses
Puntos: 175
Respuesta: Lista dinamica

El unico defecto que le encuentro es la posible lentitud, ya que cuando cuentas con varios miles o millones de datos, la consulta SQL debe traer todos los datos para que el AJAX lo compare, y eso podría consumir algo de recursos extra...

Genial el aporte de informacionsys
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...

Etiquetas: dinamica, lista, registro
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 08:31.