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 :
<?php $selpoblacion = isset($_GET["selpoblacion"])? $_GET["selpoblacion"]: ''; $selactividad = isset($_GET["selactividad"])? $_GET["selactividad"]: ''; ?> <?php $tipoEmpresa = isset($_GET["tipoEmpresa"])? $_GET["tipoEmpresa"]: ''; $criterio = isset($_GET["criterio"])? $_GET["criterio"]: ''; $txt_criterio=isset($_GET["txt_criterio"])? $_GET["txt_criterio"]: ''; $criterio = ""; if (isset($_GET['criterio'])) { $txt_criterio = $_GET["criterio"]; $criterio = $txt_criterio; } $myActividad = ""; if (isset($_GET['selactividad'])and $_GET['selactividad'] >0) { $txt_selactividad = $_GET["selactividad"]; $myActividad = $txt_selactividad; } ?> <table width="765" height="80" border="0"> <?php $sql = "SELECT SQL_CALC_FOUND_ROWS actividades.* FROM actividades WHERE actividades.Actividades = '$selactividad' and NombreComer like '%" . $txt_criterio . "%'"; $myVariable = ""; if (isset($_GET['selpoblacion'])and $_GET['selpoblacion'] >0) { $txt_selpoblacion = $_GET["selpoblacion"]; $sql .= "AND idpoblacion = $txt_selpoblacion "; } $sql .= ' ORDER BY NombreComer ASC '; if (!($result = @mysql_query($sql))) { die(mysql_error()); } $rows = mysql_fetch_assoc(mysql_query('SELECT FOUND_ROWS() AS rows')); $tabla = mysql_query($sql); while ($registro = mysql_fetch_array($tabla)) { ?> <tr> <td><a href="<?php echo $registro['Url']; ?>"><img border="0" src="<?php echo $registro['Imagenes']; ?>"></a></td> </tr> <?php } mysql_free_result($tabla); ?> </table> <table width="745" height="30" border="0"> <td> <form name="fecha" method="GET" action="Prueba.php"> <font color="#FFFFFF"> Buscar: </font> <input name="criterio" type="text" size="20" style="border-width: 2px; font-size:13pt; font-weight:bold;color: #800000;"> <select name="selpoblacion" id="selpoblacion" style class="Guias2"> <option value="-1" selected>Seleccionar Población </option> <?php $tablapoblaciones = mysql_query("SELECT * FROM poblaciones ORDER BY poblacion ASC"); while ($registropoblacion = mysql_fetch_array($tablapoblaciones)) { ?> <option value="<?php echo $registropoblacion['Id']; ?>"><?php echo $registropoblacion['Poblacion']; ?></option> <?php } mysql_free_result($tablapoblaciones); ?> </select> <select name="selactividad" id="selactividad" size="1" style class="Guias2"> <option value="-1" selected>Seleccionar Actividad</option> <?php $tablaactividad = mysql_query("SELECT * FROM actividades group by Actividades ORDER BY Actividades ASC"); while ($registroactividad = mysql_fetch_array($tablaactividad)) { ?> <option value="<?php echo $registroactividad['Actividades']; ?>"><?php echo $registroactividad['Actividades']; ?></option> <?php } mysql_free_result($tablaactividad); ?> </select> <input type="submit" name="cmdBuscar" id="cmdBuscar" value="BUSCAR"> </form> </td> </table>
Gracias a todos.