Ver Mensaje Individual
  #12 (permalink)  
Antiguo 24/09/2010, 07:36
Avatar de Perr0
Perr0
 
Fecha de Ingreso: mayo-2005
Ubicación: Santiago de Chile, Chile
Mensajes: 676
Antigüedad: 19 años
Puntos: 79
Respuesta: Recordar valor tras recargar formulario

neodani, que tal:

asi es $totaldiasmes=date("t",mktime(0,0,0,$_GET["cmes"],1,$convanho)) te da el numero de dias del mes

ahora si ocupas date("t"), te da el numero de dias del mes del servidor.

bueno, te cuento que el codigo me funciona bien, te explico simplemente como funciona cosa de que lo acomodes, puedes quitar el onchange en todos los combos y luego presionar enviar, si ocupas POST, tendras que cambiar los GET.

lo tendrias que acomodar a tu medida, ahora el número de dias los puedes dejar fijo hasta el 31, mi intensión fue que te arroje el número de dias correspiendte al mes y al año (esto es precisamente por los años bisiestos), si quieres que te funcione asi, tendrias que usar ajax y validar cuando tengas algún valor en año y mes para que te arroje el número de dias preciso.

como te repito me funciono bien el script, es cosa de copiar y pegar y crear un archivo php y correrlo.

detallo el codigo
Código:
$convanho=$_GET["canho"]+date("Y")-1; //malo
hay que corregirlo por este
Código:
$convanho=date("Y")-($_GET["canho"]-1); //corregido
obtengo el valor del combo del año $_GET["canho"], este será asi:
2010 -> valor 1 (o el año actual)
2009 -> valor 2
.
.
.
1910 -> valor 101

entonces el valor de la selección del año no me sirve de por si solo porque es un número tipo indice, para ello le sumo el año actual en este caso 2010 y le resto 1 porque parto con el número 1

osea
2010-(1-1)=2010
2010-(2-1)=2009
2010-(3-1)=2008
.
.
.
2010-(101-1)=1910


$totaldiasmes=date("t",mktime(0,0,0,$_GET["cmes"],1,$convanho));
genero el tiempo al que nos referimos con mktime
la hora,minutos y segundos no los contabilizamos asi se van a cero
con $_GET["cmes"] recojo el mes seleccionado del combo mes
con $convanho recojo el año seleccionado del combo año con el valor como corresponde
el dia siempre como 1

luego al hacer a la fecha generada date("t",[fecha generada]) obtengo el total de dias de ese mes.

salu2

bueno queda en que lo adaptes a tu manera