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!
sabes usar llamadas desde el jscript al php? usas jquery?
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
<?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>
aqui te dejo 2 tutoriales,
este de javascript
http://www.javascriptya.com.ar/ (http://www.javascriptya.com.ar/)
y este de su framework mas usado
http://www.javascriptya.com.ar/jquery/ (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)
Cita de: engelx en 6 Mayo 2013, 17:42 PM
aqui te dejo 2 tutoriales,
este de javascript
http://www.javascriptya.com.ar/ (http://www.javascriptya.com.ar/)
y este de su framework mas usado
http://www.javascriptya.com.ar/jquery/ (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.
el de jscript te ayudara a entender todo... en el de jquery aprenderas que puedes hacer cosas cool :P