Filtro a mysql que se actualice con cada letra que insertemos

Iniciado por the_sheriff_pino, 6 Mayo 2013, 09:36 AM

0 Miembros y 2 Visitantes están viendo este tema.

the_sheriff_pino

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!
Rebélate

engel lex

sabes usar llamadas desde el jscript al php? usas jquery?
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

Cita de: engelx en  6 Mayo 2013, 09:49 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
Rebélate

the_sheriff_pino

Código (php) [Seleccionar]
<?php
$link 
mysql_connect('localhost''root','') or die("Error, no se ha conectado B.D.");
$bd=mysql_select_db('clientes'$link) or die("Error, no se ha seleccionado B.D.");
?>


<!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=iso-8859-1" />
<title>Documento sin título</title>
</head>
<body>

<form action="" name="form1" method="post">
Nombre:<input type="text" name="nombre" autocomplete="off" />
<br />
Población<input type="text" name="poblacion" autocomplete="off"/>
<br />
Provincia<input type="text" name="provincia"  autocomplete="off"/>
<br />
CIF<input type="text" name="cif" autocomplete="off" />

<br />
<br />


<?php
function generaClientes()
{
$link  = mysql_connect('localhost''root','') or die("Error, no se ha conectado B.D.");
$bd = mysql_select_db('clientes'$link) or die("Error, no se ha seleccionado B.D.");


$nombre = $_POST['nombre'];
$provincia = $_POST['provincia'];
$poblacion = $_POST['poblacion'];
$cif = $_POST['cif'];


if ( !empty (
$nombre) || !empty ($poblacion) || !empty ($provincia)|| !empty ($cif) ) {
    
$sql" SELECT * FROM tabla WHERE ";   //Empezar a crear la consulta:

if ( !empty($nombre) && !empty ($poblacion) && !empty ($provincia) && !empty ($cif) ) {
         
$sql .= " Nombre='$nombre' AND Poblacion='$poblacion' AND Provincia='$provincia' AND CIF='$cif'" ;   
     }

else if ( !empty($nombre) && !empty ($poblacion) && !empty ($cif) ) {   
     
$sql .= " Nombre='$nombre' AND Poblacion='$poblacion' AND CIF='$cif'"
    }
else if ( !empty($nombre) && !empty ($cif) && !empty ($provincia) ) {   
     
$sql .= " Nombre='$nombre' AND CIF='$cif' AND Provincia='$provincia'"
    }
else if ( !empty($nombre) &&  !empty ($provincia) ) {  
     
$sql .= " Nombre='$nombre' AND Provincia='$provincia'"
    }
else if ( !empty($nombre) &&  !empty ($cif) ) {  
     
$sql .= " Nombre='$nombre' AND CIF='$cif'"
    }
else if ( !empty($nombre) &&  !empty ($poblacion) ) {  
     
$sql .= " Nombre='$nombre' AND Poblacion='$poblacion'"
    }
else if ( !empty($nombre) ) {
     
$sql .= " Nombre='$nombre'"
    }
else if ( !empty ($poblacion) && !empty ($provincia) && !empty ($cif) ) {
     
$sql .= "Poblacion='$poblacion' AND Provincia='$provincia' AND CIF='$cif'" ;
}
else if ( !empty($poblacion) &&  !empty ($provincia) ) {  
     
$sql .= " Poblacion='$poblacion' AND Provincia='$provincia'"
}
else if ( !empty($poblacion) &&  !empty ($cif) ) {  
     
$sql .= " Poblacion='$poblacion' AND CIF='$cif'";
}
else if ( !empty($poblacion)) {  
     
$sql .= " Poblacion='$poblacion'"
}
else if ( !empty($cif) &&  !empty ($provincia) ) {  
     
$sql .= " CIF='$cif' AND Provincia='$provincia'"
}
else if ( !empty ($provincia) ) {  
     
$sql .= "Provincia='$provincia'"
}
else if ( !empty($cif) ) {  
     
$sql .= " CIF='$cif'"
}
}
   
$sql .= "ORDER BY Nombre ASC";

$consulta mysql_query ($sql) ;   //Hacer la consulta. ?>




<select name='clientes' size="5px">

    <?php 
while($registro=mysql_fetch_assoc($consulta))
{?>

<option value="<?php echo $registro['Nombre']; ?>"><?php echo $registro['Nombre']," ",$registro['Direccion']," ",$registro['Poblacion']," ", $registro['Provincia'];  ?></option>

<?php 
}
?>


   </select>

<?php 
}
?>

  <input type="submit" value="Filtrar" name="filtrar" />
</form>

<br />
<br />
<?php generaClientes(); ?>

</body>
</html>
Rebélate

engel lex

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)

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

Cita de: engelx 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)



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.

Rebélate

engel lex

el de jscript te ayudara a entender todo... en el de jquery aprenderas que puedes hacer cosas cool :P
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.