Ver Mensaje Individual
  #2 (permalink)  
Antiguo 07/09/2009, 04:25
frmfernando
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 11 meses
Puntos: 1
Respuesta: Busqueda por Año y mes

Hola buenos dias nuevamente.

Ya he conseguido hacer mas o menos lo que necesitaba solo me falta un pequeño detalle.

si tengo varias fechas con diferentes meses y diferentes años cuando seleccione un año el combobox solo me tiene que mostrar los meses relacionados con ese año

Osea que si tengo:

Enero 2009
Marzo 2009
Junio 2009
Agosto 2010
Diciembre 2011

En el año 2009 solo me tiene que mostrar Enero, Marzo y Junio
Si selecciono el año 2010 solo me tiene que mostrar Agosto
y lo mismo do 2011

Me pueden decir donde tengo que meter esos filtros?

Código PHP:
<html>
<html>
<head>
<title>Selector de Fechas</title>
</head>

<body>
<form method="post" action="pagina2.php">

    <table width="70%" border="0" align="center">
    <?php
// Me conecto a la base de datos
mysql_connect("localhost","aldats_user","1Barcos1.");
mysql_select_db("aldats_base");

// Declaro la variable $anioant que es la que me va a indicar si hay que volver a cargar los datos de los meses
$anioant=$anio;

print (
"
    <input type=\"hidden\" name=\"fecha\" value=\"$anioant\">

    <tr>
       <td><div align=\"right\"><strong>Año:</strong></div></td>
       <td><select name=\"fecha\" onchange=\"submit();\">
       "
);
//Muestra el combobox de los meses una vez que se haya elegido el año, no antes
if (!isset($fecha)){
    print (
"<option selected>Seleccione el año</option>");
    
$fecha="0";
}

$sqla "SELECT *, YEAR(fecha) as yearOnly FROM mareas GROUP BY yearOnly";
$resa mysql_query($sqla);
//obtenemos el número de registros
$numa mysql_num_rows($resa);


while(
$fila=mysql_fetch_array($resa)){
print(
"<option value=\"$fila[yearOnly]\"");
if (
$fila[yearOnly] == $fecha) {
print (
"selected");
}
print(
">$fila[yearOnly]</option>\n");
}
print(
"</select></td></tr>");

if (
$fecha!="0"){
print(
"
<tr>
    <td><div align=\"right\"><strong>Mes:</strong></div></td>
<td><select name=\"mes\">
"
);

//seleccionamos las opciones del select Meses
$sqlm "SELECT *, Month(fecha) as MonthOnly FROM mareas GROUP BY MonthOnly";
$resm mysql_query($sqlm);
//obtenemos el número de registros
$numm mysql_num_rows($resm);

while(
$filames=mysql_fetch_array($resm)){
print(
"<option value=\"$filames[MonthOnly]\">$filames[MonthOnly]</option>");
}
print(
"
    </select>
    </td>
       </tr>
"
);
}
       
?>

    </table>

</form>

</body>
</html>

Muchas gracias