Tengo una pequeña duda que espero puedan ayudarme a solucionar.
Os muestro el código, y al final del todo he puesto tres líneas de comentario para que sepan donde está mi duda.
La página es un filtro que de primeras muestra todos los resultados, si introduces algún valor y le das al botón filtrar, filtra la lista. hasta ahí todo correcto.
La cuestión es si clicas en el botón filtrar sin haber rellenado los campos da un error.
La idea sería que al clicar sin haber rellenado ningún campo no hiciera nada, o si tuviera que hacer algo que volviese a cargar la misma página como al principio.
Gracias por vuestra ayuda!
Código PHP:
Ver original
<?php ?> <!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() { $nombre = $_POST['nombre']; $provincia = $_POST['provincia']; $poblacion = $_POST['poblacion']; $cif = $_POST['cif']; $sql= " SELECT * FROM tabla WHERE "; //Empezar a crear la consulta: $sql .= " Nombre LIKE '%$nombre%' AND Poblacion LIKE '%$poblacion%' AND Provincia LIKE '%$provincia%' AND CIF LIKE '%$cif%'" ; } $sql .= " Nombre LIKE '%$nombre%' AND Poblacion LIKE '%$poblacion%' AND CIF LIKE '%$cif%'"; } $sql .= " Nombre LIKE '%$nombre%' AND CIF LIKE '%$cif%' AND Provincia LIKE '%$provincia%'"; } $sql .= " Nombre LIKE '%$nombre%' AND Provincia LIKE '%$provincia%'"; } $sql .= " Nombre LIKE '%$nombre%' AND CIF LIKE '%$cif%'"; } $sql .= " Nombre LIKE '%$nombre%' AND Poblacion LIKE '%$poblacion%'"; } $sql .= " Nombre LIKE '%$nombre%'"; } $sql .= " Poblacion LIKE '%$poblacion%' AND Provincia LIKE '%$provincia%' AND CIF LIKE '%$cif%'" ; } $sql .= " Poblacion LIKE '%$poblacion%' AND Provincia LIKE '%$provincia%'"; } $sql .= " Poblacion LIKE '%$poblacion%' AND CIF LIKE '%$cif%'"; } $sql .= " Poblacion LIKE '%$poblacion%'"; } $sql .= " CIF LIKE '%$cif%' AND Provincia LIKE '%$provincia%'"; } $sql .= " Provincia LIKE '%$provincia%'"; } $sql .= " CIF LIKE '%$cif%'"; } } $sql .= "ORDER BY Nombre ASC"; <select name='clientes' size="5px"> <?php {?> <option value="<?php echo $registro['num_cliente']; ?>"><?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 $sql= " SELECT * FROM tabla ORDER BY Nombre ASC"; <select name='clientes' size="5px"> <?php {?> <option value="<?php echo $registro['num_cliente']; ?>"><?php echo $registro['Nombre']," ",$registro['Direccion']," ",$registro['Poblacion']," ", $registro['Provincia']; ?></option> <?php } ?> </select> <?php }} else { { generaClientes(); } else { ///////////////////////////// ///////////////////////////// ///////////////////////////// }}?> </body> </html>