Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/05/2013, 06:08
Avatar de the_sheriff_pino
the_sheriff_pino
 
Fecha de Ingreso: abril-2013
Ubicación: Córdoba
Mensajes: 118
Antigüedad: 11 años, 1 mes
Puntos: 0
Recargar página php

Saludos foreros!

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
  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.  
  41.            
  42. if ( !empty ($nombre) || !empty ($poblacion) || !empty ($provincia)|| !empty ($cif) ) {
  43.    
  44. $sql= " SELECT * FROM tabla WHERE ";                                                                //Empezar a crear la consulta:
  45.  
  46.     if ( !empty($nombre) && !empty ($poblacion) && !empty ($provincia) && !empty ($cif) ) {        
  47.          $sql .= " Nombre LIKE '%$nombre%' AND Poblacion LIKE '%$poblacion%' AND Provincia LIKE '%$provincia%' AND CIF LIKE '%$cif%'" ;  
  48.          }
  49.    
  50.     else if ( !empty($nombre) && !empty ($poblacion) && !empty ($cif) ) {                  
  51.      $sql .= " Nombre LIKE '%$nombre%' AND Poblacion LIKE '%$poblacion%' AND CIF LIKE '%$cif%'";
  52.     }
  53.     else if ( !empty($nombre) && !empty ($cif) && !empty ($provincia) ) {                      
  54.      $sql .= " Nombre LIKE '%$nombre%' AND CIF LIKE '%$cif%' AND Provincia LIKE '%$provincia%'";
  55.     }
  56.     else if ( !empty($nombre) &&  !empty ($provincia) ) {  
  57.      $sql .= " Nombre LIKE '%$nombre%' AND Provincia LIKE '%$provincia%'";
  58.     }
  59.     else if ( !empty($nombre) &&  !empty ($cif) ) {  
  60.      $sql .= " Nombre LIKE '%$nombre%' AND CIF LIKE '%$cif%'";
  61.     }
  62.     else if ( !empty($nombre) &&  !empty ($poblacion) ) {  
  63.      $sql .= " Nombre LIKE '%$nombre%' AND Poblacion LIKE '%$poblacion%'";
  64.     }
  65.     else if ( !empty($nombre) ) {
  66.      $sql .= " Nombre LIKE '%$nombre%'";
  67.     }
  68.     else if ( !empty ($poblacion) && !empty ($provincia) && !empty ($cif) ) {          
  69.      $sql .= " Poblacion LIKE '%$poblacion%' AND Provincia LIKE '%$provincia%' AND CIF LIKE '%$cif%'" ;
  70.     }
  71.     else if ( !empty($poblacion) &&  !empty ($provincia) ) {  
  72.      $sql .= " Poblacion LIKE '%$poblacion%' AND Provincia LIKE '%$provincia%'";
  73.     }
  74.     else if ( !empty($poblacion) &&  !empty ($cif) ) {  
  75.      $sql .= " Poblacion LIKE '%$poblacion%' AND CIF LIKE '%$cif%'";
  76.     }
  77.     else if ( !empty($poblacion)) {  
  78.      $sql .= " Poblacion LIKE '%$poblacion%'";
  79.     }
  80.     else if ( !empty($cif) &&  !empty ($provincia) ) {  
  81.      $sql .= " CIF LIKE '%$cif%' AND Provincia LIKE '%$provincia%'";
  82.     }
  83.     else if ( !empty ($provincia) ) {  
  84.      $sql .= " Provincia LIKE '%$provincia%'";
  85.     }
  86.     else if ( !empty($cif) ) {  
  87.      $sql .= " CIF LIKE '%$cif%'";
  88.     }
  89. }
  90.         $sql .= "ORDER BY Nombre ASC";
  91.        
  92. $consulta = mysql_query ($sql) ;   //Hacer la consulta. ?>         
  93.    
  94.  
  95.      
  96.     <select name='clientes' size="5px">
  97.  
  98.     <?php
  99.         while($registro=mysql_fetch_assoc($consulta))
  100.             {?>
  101.             <option value="<?php echo $registro['num_cliente']; ?>"><?php echo $registro['Nombre']," ",$registro['Direccion']," ",$registro['Poblacion']," ",                                           $registro['Provincia'];  ?></option>
  102.    
  103.         <?php
  104.             }
  105.         ?>
  106.    
  107.    </select>
  108.  
  109.     <?php
  110.         }
  111.     ?> 
  112.   <input type="submit" value="Filtrar" name="filtrar" />
  113. </form>
  114.  
  115.     <br />
  116.     <br />
  117.    
  118.    <?php
  119.    if (!isset($_POST['filtrar'])){
  120.        
  121.        if ( empty ($nombre) && empty ($poblacion) && empty ($provincia) && empty ($cif) ){
  122.        $sql= " SELECT * FROM tabla ORDER BY Nombre ASC";
  123.        
  124.        $consulta = mysql_query ($sql) ;   //Hacer la consulta. ?>          
  125.    
  126.  
  127.      
  128.     <select name='clientes' size="5px">
  129.  
  130.     <?php
  131.         while($registro=mysql_fetch_assoc($consulta))
  132.             {?>
  133.             <option value="<?php echo $registro['num_cliente']; ?>"><?php echo $registro['Nombre']," ",$registro['Direccion']," ",$registro['Poblacion']," ",                                           $registro['Provincia'];  ?></option>
  134.    
  135.         <?php
  136.             }
  137.         ?>
  138.    
  139.    </select>
  140.    <?php
  141.         }}
  142.         else
  143.         {
  144.             if (isset($_POST['filtrar']))
  145.             {
  146.         generaClientes();
  147.         }
  148.         else
  149.         {
  150.             /////////////////////////////
  151.             /////////////////////////////
  152.             /////////////////////////////
  153.            
  154.          }}?>
  155.  
  156. </body>
  157. </html>