Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/03/2004, 02:44
jorgynh0
 
Fecha de Ingreso: marzo-2004
Mensajes: 90
Antigüedad: 20 años
Puntos: 0
Cómo saber días del mes en seleccion d fechas desplegable?

Tengo una selección de una fecha d inicio y otra de fin con menús desplegables tal y como se explica en la FAQ del manual de PHP en http://www.forosdelweb.com/showthre...8632#post308632

Pues bien, yo lo he hecho de forma q se va seleccionando primero el mes, luego el año y,
QUISIERA q en este punto, sabiendo lo q hay seleccionado, en el menú de los días solo aparezcan los días q tenga ese mes de ese año. Osea, en febrero 28 o 29 según el año.
Tengo la función para calcular los días de un mes y año dados pero...
NO SÉ cómo hacer para que, una vez seleccionado mes y año, se ejecute AUTOMATICAMENTE y carge en el menu los días oportunos.

Es q como lo tengo hecho lo carga todo desde el principio...

Os pongo el código de la selección de la primera fecha:

<?php

//funcion que devuelve el último día de un mes y año dados

function obtenerUltimoDia($mes,$ano){

$ultimo_dia=28;
while (checkdate($mes,$ultimo_dia + 1,$ano)){
$ultimo_dia++;
}
return $ultimo_dia;
}


if ( ! isset ($diainicio) )
$diainicio=01;
if ( ! isset ($mesinicio) )
$mesinicio=01;
if ( ! isset ($anoinicio) )
$anoinicio=2002;

//si no hay algun dato de la fecha final definida, se toma la fecha actual

if (( ! isset ($diafin) ) || ( !isset ($mesfin) ) || ( !isset ($anofin) ))

{

// obtener la fecha en formato numérico dia . mes y año.


$diafin = date ("d");

$mesfin = date ("m");

$anofin = date ("Y");

}

// generamos el mes en formato "legible" y en castellano.

// para eso usaremos un array con los nombres de los messes . indice comienzo en 1

$meses_nombres=Array(1=>"Enero","Febrero","Marzo", "Abril","Mayo","Junio","Julio","Agosto","Septiembr e","Octubre","Noviembre","Diciembre");



// Ahora un bucle para generar dinamicamente los Options de un Select (de cada uno de dia mes y año).

// Si el nº de dia (mes, año) coincide con el actual .. poner el tag "selected" ...



echo "Fecha Inicio: ";

// Selección mes inicio

echo "<select name=\"mesinicio\">\n";

for ($contador=1; $contador <=12; $contador++){

if ($mesinicio==$contador){

echo "<option value=\"".$contador."\" selected>".$meses_nombres[$contador]."\n";

}else{

echo "<option value=\"".$contador."\">".$meses_nombres[$contador]."\n";

}

}

echo "</select>\n";



// Selección año inicio

echo "<select name=\"anoinicio\">\n";

for ($contador=2002; $contador <=2004; $contador++){

if ($anoinicio==$contador){

echo "<option value=\"".$contador."\" selected>".$contador."\n";

}else{

echo "<option value=\"".$contador."\">".$contador."\n";

}

}

echo "</select>\n";



// selección dia inicio

echo "<select name=\"diainicio\">\n";

$ultimo1= obtenerUltimoDia($mesinicio, $anoinicio);

for ($contador=1; $contador <=$ultimo1; $contador++){

if ($diainicio==$contador){

echo "<option value=\"".$contador."\" selected>".$contador."\n";

}else{

echo "<option value=\"".$contador."\">".$contador."\n";

}

}

echo "</select>\n";


echo "Fecha Fin: ";

AQUI SERIA LO MISMO Q LA FECHA DE INICIO




Espero q alguie pueda ayudarme.

Muchas gracias por adelantado.

Salu2