Foros del Web » Programando para Internet » PHP »

Cómo saber días del mes en seleccion d fechas desplegable?

Estas en el tema de Cómo saber días del mes en seleccion d fechas desplegable? en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 25/03/2004, 02:44
 
Fecha de Ingreso: marzo-2004
Mensajes: 90
Antigüedad: 13 años, 8 meses
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
  #2 (permalink)  
Antiguo 25/03/2004, 03:00
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

La solucion PHP implicaria recargar la pagina o usar javascript con remote scripting.

Si no quieres usar ninguna de esas dos opciones, usa javascript para cambiar el contenido del select.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 25/03/2004, 03:33
 
Fecha de Ingreso: marzo-2004
Mensajes: 90
Antigüedad: 13 años, 8 meses
Puntos: 0
Muchas gracias por tu ayuda, pero...
no soy muy, o mejor nada, experto en php ni javascrip...
¿Me podrías tu o alguien explicar un poco más? ¿Cúal es la solución más eficiente y la más rápida?
¿Alguien me puede mostrar algún ejemplo?
¿Cómo se cambia el contenido del select con javascript?

Gracias

Salu2
  #4 (permalink)  
Antiguo 25/03/2004, 11:08
 
Fecha de Ingreso: marzo-2004
Mensajes: 90
Antigüedad: 13 años, 8 meses
Puntos: 0
alguien q me eche un cable...
  #5 (permalink)  
Antiguo 25/03/2004, 11:49
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
La solución más eficiente sería por javacript ..

Yo de tí buscaría esa solución en el foro de Javascript (preguntando allá).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #6 (permalink)  
Antiguo 25/03/2004, 11:53
 
Fecha de Ingreso: marzo-2004
Mensajes: 90
Antigüedad: 13 años, 8 meses
Puntos: 0
Gracias...

a ver si alguien me puede ayudar algo más por aquí

Salu2
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:40.