Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/03/2012, 06:00
ra120354
 
Fecha de Ingreso: febrero-2012
Ubicación: N/A
Mensajes: 54
Antigüedad: 12 años, 2 meses
Puntos: 0
No encuentro porque me falla

Hola a todos, Vereis de una base de datos relleno 2 selects uno con las poblaciones y el otro con las actividades, utilizo estos 2 selects para seleccionar la población y la actividad que quiero que me muestre mi base de datos.

Si selecciono una actividad y ninguna población me muestra esa actividad de todas las poblaciones independientemente de donde se haye, esto es correcto.
Si selecciono una actividad y una población me muestra la actividad que se encuentra en la población seleccionada, esto es correcto.
El select población funciona correctamente ya que si no elijo ninguna población me saca la actividad de todas las poblaciones,.
Pero el select actividad no funciona como yo quiero porque si no elijo ninguna actividad no me saca nada y lo que quiero es que cuando no elija ninguna actividad me las saque todas, por ejemplo al entrar en la página como no hay nada seleccionado (ni población, ni actividad) me saque todas o cuando seleccione "Seleccionar Población" y "Seleccionar Actividad" de los selects tambien me las saque todas.

Se que lo he hecho con el select población que funciona bien pero no se porque no lo consigo hacer con el select actividad, estare ofuscado o es que soy cada día mas tonto, la cuestión es que llevo horas atascado y necesito de vuestra ayuda.

He reducido el código y he dejado lo indispensable, para que veais donde esta el problema porque yo no se como hacerlo.

Código PHP:
Ver original
  1. <?php
  2.         $selpoblacion = isset($_GET["selpoblacion"])? $_GET["selpoblacion"]: '';
  3.         $selactividad = isset($_GET["selactividad"])? $_GET["selactividad"]: '';
  4. ?>
  5. <?php
  6. $tipoEmpresa = isset($_GET["tipoEmpresa"])? $_GET["tipoEmpresa"]: '';
  7. $criterio = isset($_GET["criterio"])? $_GET["criterio"]: '';
  8. $txt_criterio=isset($_GET["txt_criterio"])? $_GET["txt_criterio"]: ''; 
  9.  
  10. $criterio = "";
  11. if (isset($_GET['criterio'])) {
  12.    $txt_criterio = $_GET["criterio"];
  13.     $criterio = $txt_criterio;
  14. }
  15.    
  16. $myActividad = "";
  17.         if (isset($_GET['selactividad'])and $_GET['selactividad'] >0) {
  18.         $txt_selactividad = $_GET["selactividad"];
  19.         $myActividad = $txt_selactividad;
  20.         }
  21. ?>
  22. <table width="765" height="80" border="0">
  23. <?php
  24. $sql = "SELECT SQL_CALC_FOUND_ROWS actividades.* FROM actividades WHERE actividades.Actividades = '$selactividad' and NombreComer like '%" . $txt_criterio . "%'";
  25. $myVariable = "";
  26.         if (isset($_GET['selpoblacion'])and $_GET['selpoblacion'] >0) {
  27.         $txt_selpoblacion = $_GET["selpoblacion"];
  28.         $sql .= "AND idpoblacion =  $txt_selpoblacion ";
  29. }
  30. $sql .= ' ORDER BY NombreComer ASC ';
  31.  
  32.         if (!($result = @mysql_query($sql))) {
  33.  
  34.         die(mysql_error());
  35.         }
  36.  $rows = mysql_fetch_assoc(mysql_query('SELECT FOUND_ROWS() AS rows'));
  37.  $tabla = mysql_query($sql);
  38. while ($registro = mysql_fetch_array($tabla)) {
  39. ?>
  40.         <tr>
  41.           <td><a href="<?php echo $registro['Url']; ?>"><img border="0" src="<?php echo $registro['Imagenes']; ?>"></a></td>
  42.         </tr>
  43. <?php
  44. }
  45. ?>
  46. </table>
  47.  
  48. <table width="745" height="30" border="0">
  49. <td>
  50. <form name="fecha" method="GET" action="Prueba.php">
  51.   <font color="#FFFFFF">&nbsp;&nbsp;Buscar:&nbsp;&nbsp;&nbsp;</font>
  52.   <input name="criterio" type="text" size="20" style="border-width: 2px; font-size:13pt; font-weight:bold;color: #800000;">
  53.  
  54.    <select name="selpoblacion" id="selpoblacion"  style class="Guias2">
  55.         <option value="-1" selected>Seleccionar Población </option>
  56. <?php
  57.     $tablapoblaciones = mysql_query("SELECT * FROM poblaciones ORDER BY poblacion ASC");
  58.     while ($registropoblacion = mysql_fetch_array($tablapoblaciones)) {
  59. ?>
  60.  
  61. <option value="<?php echo $registropoblacion['Id']; ?>"><?php echo $registropoblacion['Poblacion']; ?></option>
  62.  
  63. <?php
  64.     }
  65.     mysql_free_result($tablapoblaciones);
  66. ?>
  67.     </select>
  68.  
  69.     <select name="selactividad" id="selactividad"  size="1" style class="Guias2">
  70.         <option value="-1" selected>Seleccionar Actividad</option>     
  71. <?php
  72.        
  73.     $tablaactividad = mysql_query("SELECT * FROM actividades group by Actividades ORDER BY Actividades ASC");
  74.     while ($registroactividad = mysql_fetch_array($tablaactividad)) {
  75. ?>
  76. <option value="<?php echo $registroactividad['Actividades']; ?>"><?php echo $registroactividad['Actividades']; ?></option>
  77. <?php
  78.     }
  79.     mysql_free_result($tablaactividad);
  80. ?>
  81.     </select>
  82.    
  83.     <input type="submit" name="cmdBuscar" id="cmdBuscar" value="BUSCAR">
  84.        
  85. </form>
  86.  
  87. </td>
  88. </table>

Gracias a todos.