Foros del Web » Programando para Internet » PHP »

Contar meses hacia atras desde uno dado en select

Estas en el tema de Contar meses hacia atras desde uno dado en select en el foro de PHP en Foros del Web. Hola amigos como estais, Vereis necesito hacer un select con los meses que van desde el mes actual hasta un mes dado, tengo este codigo ...
  #1 (permalink)  
Antiguo 22/07/2011, 12:59
 
Fecha de Ingreso: marzo-2007
Mensajes: 751
Antigüedad: 17 años, 9 meses
Puntos: 4
Contar meses hacia atras desde uno dado en select

Hola amigos como estais,


Vereis necesito hacer un select con los meses que van desde el mes actual hasta un mes dado, tengo este codigo pero da error:


echo $mes_actual = date('M');
echo $mes_comienzo = date('M', Strtotime ("-11 month");

echo '<select name="Mes">';
echo '<option value="vacio">Eliga el mes</option>';

for ($i=$mes_actual; $i>=$mes_comienzo; $i--) {



echo "<option value='$i'>$i</option>";

}

echo '</select>';


A ver si alguien sabe que estoy haciendo mal, seguramente no estoy tratando bien el manejo de las fechas.

Un saludo amigos y gracias
  #2 (permalink)  
Antiguo 22/07/2011, 13:51
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años, 7 meses
Puntos: 528
Respuesta: Contar meses hacia atras desde uno dado en select

¿Cuál error te da? verifica que $mes_actual sea mayor a $mes_comienzo.

Por cierto, es elija, no "eliga"
  #3 (permalink)  
Antiguo 22/07/2011, 14:10
 
Fecha de Ingreso: febrero-2010
Mensajes: 818
Antigüedad: 14 años, 10 meses
Puntos: 55
Respuesta: Contar meses hacia atras desde uno dado en select

esta linea esta mal te falta incluir la fecha a la cual le restas los meses
Código PHP:
<?php
echo $mes_comienzo date('M'Strtotime ("-11 month"); 

//deberia ser

echo $mes_comienzo date('M'strtotime($mes_actual ."-11 month")); 
?>
  #4 (permalink)  
Antiguo 22/07/2011, 14:41
 
Fecha de Ingreso: marzo-2007
Mensajes: 751
Antigüedad: 17 años, 9 meses
Puntos: 4
Respuesta: Contar meses hacia atras desde uno dado en select

Hola amigos como estais, pues vereis el codigo lo he cambiado y esta asi:

echo $mes_actual = date('M');

$mes_comienzo = date('M', strtotime($mes_actual, "-11 month"));
echo '<select name="Mes">';
echo '<option value="vacio">Eliga el mes</option>';
for ($i=$mes_actual; $i>=$mes_comienzo; $i--) {



echo "<option value='$i'>$i</option>";

}


echo '</select>';

La cosa es que sigue sin funcionar en vez de mostrar la lista de meses me esta mostrando el mes de julio infinitamente bloqueando la aplicacion.
  #5 (permalink)  
Antiguo 23/07/2011, 11:44
 
Fecha de Ingreso: marzo-2007
Mensajes: 751
Antigüedad: 17 años, 9 meses
Puntos: 4
Respuesta: Contar meses hacia atras desde uno dado en select

Nada no hay manera de hacerlo funcionar
  #6 (permalink)  
Antiguo 23/07/2011, 12:18
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 13 años, 5 meses
Puntos: 793
Respuesta: Contar meses hacia atras desde uno dado en select

Creo que ya entendí lo que quieres hacer, espero que te sirva.

Código PHP:
Ver original
  1. <?php
  2.  
  3. $mes = array(1 => 'Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo',
  4. 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre');
  5.  
  6. echo '<select name="Mes">';
  7. echo '<option value="vacio">Elija el mes</option>';
  8.  
  9. for($i=1;$i<=11;$i++){
  10.     echo "<option value='$i'>";
  11.     echo $mes[date("n",mktime(0,0,0,date("n")-$i,date("d"),date("Y")))];
  12.     echo "</option>";
  13. }
  14.  
  15. echo '</select>';
  16.  
  17. ?>

Última edición por andresdzphp; 23/07/2011 a las 12:34
  #7 (permalink)  
Antiguo 23/07/2011, 15:26
 
Fecha de Ingreso: marzo-2007
Mensajes: 751
Antigüedad: 17 años, 9 meses
Puntos: 4
Respuesta: Contar meses hacia atras desde uno dado en select

Hola amigo andresdzphp,

Efectivamente tal como esta me sirvio y funciona perfectamente amigo.

Muchas gracias colega
  #8 (permalink)  
Antiguo 23/07/2011, 15:29
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 13 años, 5 meses
Puntos: 793
Respuesta: Contar meses hacia atras desde uno dado en select

Cita:
Iniciado por franjgg Ver Mensaje
Hola amigo andresdzphp,

Efectivamente tal como esta me sirvio y funciona perfectamente amigo.

Muchas gracias colega
Me alegro que te haya servido, creo que me faltó mostrar el año para que quede más claro, aquí te dejo esta parte por si lo necesitas:

Código PHP:
Ver original
  1. for($i=1;$i<=11;$i++){
  2.     echo "<option value='$i'>";
  3.     echo $mes[date("n",mktime(0,0,0,date("n")-$i,date("d"),date("Y")))] . ' '
  4.             . date("Y",mktime(0,0,0,date("n")-$i,date("d"),date("Y")));
  5.     echo "</option>";
  6. }
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP

Etiquetas: atras, dado, hacia, meses, select
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 21:32.