elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  Filtro a mysql que se actualice con cada letra que insertemos
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Filtro a mysql que se actualice con cada letra que insertemos  (Leído 5,562 veces)
the_sheriff_pino

Desconectado Desconectado

Mensajes: 42



Ver Perfil
Filtro a mysql que se actualice con cada letra que insertemos
« en: 6 Mayo 2013, 09:36 am »

Saludos foreros!

Tengo la gran duda de como hacer o por donde empezar para crear una filtro en php para una base de datos mysql.

Los filtros son en cuatro campos, nombre, localidad, provincia y cif.
Ya están hechos y funcionan tanto independientes como combinándose, pero realizan la consulta cuando clico un botón, y mi idea era que desde el momento que se inserten datos en los campos se vayan filtrando los resultados, y que se actualizase la lista a mostrar con cada letra que se escribiese, y no teniendo que parar a que clicase el botón.

Un saludo y espero sus prontas respuestas!

Gracias!


En línea

Rebélate
engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Filtro a mysql que se actualice con cada letra que insertemos
« Respuesta #1 en: 6 Mayo 2013, 09:49 am »

sabes usar llamadas desde el jscript al php? usas jquery?


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
the_sheriff_pino

Desconectado Desconectado

Mensajes: 42



Ver Perfil
Re: Filtro a mysql que se actualice con cada letra que insertemos
« Respuesta #2 en: 6 Mayo 2013, 09:57 am »

sabes usar llamadas desde el jscript al php? usas jquery?

No amigo, imaginaba que tenía que usar esos lenguajes, pero ando un poco pegado.

Aprendo muy rápido, por tanto si sabes de algún tuto o alguna forma de que pueda aprender como hacerlo te lo agradecería.

PD: no quiero que me lo den hecho, copiando y pegando no se aprende.

Un saludo y gracias por contestar
En línea

Rebélate
the_sheriff_pino

Desconectado Desconectado

Mensajes: 42



Ver Perfil
Re: Filtro a mysql que se actualice con cada letra que insertemos
« Respuesta #3 en: 6 Mayo 2013, 10:10 am »

Código
  1. <?php
  2. $link = mysql_connect('localhost', 'root','') or die("Error, no se ha conectado B.D.");
  3. $bd=mysql_select_db('clientes', $link) or die("Error, no se ha seleccionado B.D.");
  4. ?>
  5.  
  6. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  7. <html xmlns="http://www.w3.org/1999/xhtml">
  8. <head>
  9. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  10. <title>Documento sin título</title>
  11. </head>
  12. <body>
  13.  
  14. <form action="" name="form1" method="post">
  15. Nombre:<input type="text" name="nombre" autocomplete="off" />
  16. <br />
  17. Población<input type="text" name="poblacion" autocomplete="off"/>
  18. <br />
  19. Provincia<input type="text" name="provincia"  autocomplete="off"/>
  20. <br />
  21. CIF<input type="text" name="cif" autocomplete="off" />
  22.  
  23. <br />
  24. <br />
  25.  
  26.  
  27. <?php
  28. function generaClientes()
  29. {
  30. $link = mysql_connect('localhost', 'root','') or die("Error, no se ha conectado B.D.");
  31. $bd = mysql_select_db('clientes', $link) or die("Error, no se ha seleccionado B.D.");
  32.  
  33.  
  34. $nombre = $_POST['nombre'];
  35. $provincia = $_POST['provincia'];
  36. $poblacion = $_POST['poblacion'];
  37. $cif = $_POST['cif'];
  38.  
  39.  
  40. if ( !empty ($nombre) || !empty ($poblacion) || !empty ($provincia)|| !empty ($cif) ) {
  41.  
  42. $sql= " SELECT * FROM tabla WHERE ";   //Empezar a crear la consulta:
  43.  
  44. if ( !empty($nombre) && !empty ($poblacion) && !empty ($provincia) && !empty ($cif) ) {
  45.         $sql .= " Nombre='$nombre' AND Poblacion='$poblacion' AND Provincia='$provincia' AND CIF='$cif'" ;  
  46.     }
  47.  
  48. else if ( !empty($nombre) && !empty ($poblacion) && !empty ($cif) ) {  
  49.     $sql .= " Nombre='$nombre' AND Poblacion='$poblacion' AND CIF='$cif'";
  50.    }
  51. else if ( !empty($nombre) && !empty ($cif) && !empty ($provincia) ) {  
  52.     $sql .= " Nombre='$nombre' AND CIF='$cif' AND Provincia='$provincia'";
  53.    }
  54. else if ( !empty($nombre) &&  !empty ($provincia) ) {  
  55.     $sql .= " Nombre='$nombre' AND Provincia='$provincia'";
  56.    }
  57. else if ( !empty($nombre) &&  !empty ($cif) ) {  
  58.     $sql .= " Nombre='$nombre' AND CIF='$cif'";
  59.    }
  60. else if ( !empty($nombre) &&  !empty ($poblacion) ) {  
  61.     $sql .= " Nombre='$nombre' AND Poblacion='$poblacion'";
  62.    }
  63. else if ( !empty($nombre) ) {
  64.     $sql .= " Nombre='$nombre'";
  65.    }
  66. else if ( !empty ($poblacion) && !empty ($provincia) && !empty ($cif) ) {
  67.     $sql .= "Poblacion='$poblacion' AND Provincia='$provincia' AND CIF='$cif'" ;
  68. }
  69. else if ( !empty($poblacion) &&  !empty ($provincia) ) {  
  70.     $sql .= " Poblacion='$poblacion' AND Provincia='$provincia'";
  71. }
  72. else if ( !empty($poblacion) &&  !empty ($cif) ) {  
  73.     $sql .= " Poblacion='$poblacion' AND CIF='$cif'";
  74. }
  75. else if ( !empty($poblacion)) {  
  76.     $sql .= " Poblacion='$poblacion'";
  77. }
  78. else if ( !empty($cif) &&  !empty ($provincia) ) {  
  79.     $sql .= " CIF='$cif' AND Provincia='$provincia'";
  80. }
  81. else if ( !empty ($provincia) ) {  
  82.     $sql .= "Provincia='$provincia'";
  83. }
  84. else if ( !empty($cif) ) {  
  85.     $sql .= " CIF='$cif'";
  86. }
  87. }
  88.   $sql .= "ORDER BY Nombre ASC";
  89.  
  90. $consulta = mysql_query ($sql) ;   //Hacer la consulta. ?>
  91.  
  92.  
  93.  
  94. <select name='clientes' size="5px">
  95.  
  96.    <?php
  97. while($registro=mysql_fetch_assoc($consulta))
  98. {?>
  99. <option value="<?php echo $registro['Nombre']; ?>"><?php echo $registro['Nombre']," ",$registro['Direccion']," ",$registro['Poblacion']," ", $registro['Provincia'];  ?></option>
  100.  
  101. <?php
  102. }
  103. ?>
  104.  
  105.   </select>
  106.  
  107. <?php
  108. }
  109. ?>
  110.  <input type="submit" value="Filtrar" name="filtrar" />
  111. </form>
  112.  
  113. <br />
  114. <br />
  115. <?php generaClientes(); ?>
  116.  
  117. </body>
  118. </html>
En línea

Rebélate
engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Filtro a mysql que se actualice con cada letra que insertemos
« Respuesta #4 en: 6 Mayo 2013, 17:42 pm »

aqui te dejo 2 tutoriales,

este de javascript
http://www.javascriptya.com.ar/

y este de su framework mas usado
http://www.javascriptya.com.ar/jquery/

si le dedicas un rato a esos 2 tutoriales (deberias terminar el primero para ir con el segundo) deberias aprender bastantes cosas utiles, sobre como usarlos, el segundo tutorial, entre el paso 25 y 29 está lo que quieres (aunque te recomiendo leertelos en orden, ya que seguro si ves eso directamente parecera carecer de sentido)

En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
the_sheriff_pino

Desconectado Desconectado

Mensajes: 42



Ver Perfil
Re: Filtro a mysql que se actualice con cada letra que insertemos
« Respuesta #5 en: 6 Mayo 2013, 18:30 pm »

aqui te dejo 2 tutoriales,

este de javascript
http://www.javascriptya.com.ar/

y este de su framework mas usado
http://www.javascriptya.com.ar/jquery/

si le dedicas un rato a esos 2 tutoriales (deberias terminar el primero para ir con el segundo) deberias aprender bastantes cosas utiles, sobre como usarlos, el segundo tutorial, entre el paso 25 y 29 está lo que quieres (aunque te recomiendo leertelos en orden, ya que seguro si ves eso directamente parecera carecer de sentido)



Gracias engels, justo esta mañana empecé con el curso de java y está de lujo!
Menos mal que tengo bastante base de php y eso ayuda mucho.

En línea

Rebélate
engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Filtro a mysql que se actualice con cada letra que insertemos
« Respuesta #6 en: 6 Mayo 2013, 18:54 pm »

el de jscript te ayudara a entender todo... en el de jquery aprenderas que puedes hacer cosas cool :P
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines