Foros del Web » Programando para Internet » PHP »

Listar 5 semanas anteriores a la actual

Estas en el tema de Listar 5 semanas anteriores a la actual en el foro de PHP en Foros del Web. Hola gente del FW , investigando en el foro aprendí a listar los días de la semana de acuerdo al numero de la semana actual ...
  #1 (permalink)  
Antiguo 20/07/2012, 16:54
 
Fecha de Ingreso: mayo-2011
Mensajes: 125
Antigüedad: 13 años, 6 meses
Puntos: 3
Listar 5 semanas anteriores a la actual

Hola gente del FW, investigando en el foro aprendí a listar los días de la semana de acuerdo al numero de la semana actual con este código:

Código PHP:
Ver original
  1. $week = date('W');
  2. for($i=0; $i<7; $i++){
  3.      echo date('d/m/Y', strtotime('01/01 +' . ($week - 1) . ' weeks first day +' . $i . ' day')) . '<br />';
  4. }

El resultado es esto:

Cita:
16/07/2012
17/07/2012
18/07/2012
19/07/2012
20/07/2012
21/07/2012
22/07/2012
Pero mi duda es que como hago para listar adicionalmente las 4 números de semanas anteriores, claro digamos que ejecuto el SCRIPT la semana 2, debería cambiar de año al 2011. Como que 2 semanas tendrán el año 2012 y las otras 3 ultimas semanas tendrían el año 2011.
  #2 (permalink)  
Antiguo 20/07/2012, 19:17
 
Fecha de Ingreso: junio-2012
Mensajes: 23
Antigüedad: 12 años, 5 meses
Puntos: 8
Respuesta: Listar 5 semanas anteriores a la actual

Hola, si entendi bien lo que necesitas puedes hacerlo de la siguiente forma:

echo "semana actual:".$week = date('W');
echo "<br/>";
$fecha = date('Y-m-d');
$semanas_atras = 4;

for($i=0; $i<=$semanas_atras; $i++){
$fecha = date('Y-m-d',strtotime( $fecha . " last monday "));
echo "semana:" . date('W',strtotime($fecha)) . " fecha :" .$fecha . "<br/>";
}

//Tomando como Lunes el inicio de semana
Espero te sirva.
  #3 (permalink)  
Antiguo 23/07/2012, 09:22
 
Fecha de Ingreso: mayo-2011
Mensajes: 125
Antigüedad: 13 años, 6 meses
Puntos: 3
Respuesta: Listar 5 semanas anteriores a la actual

Gracias, me sirvió tu código, solo le modifique un poco, espero que no me demandes por derecho de autor xD

Código PHP:
Ver original
  1. echo "semana actual:".$week = date('W');
  2.         echo "<br/>";
  3.         $fecha = date('Y-m-d');
  4.         $semanas_atras = 5;
  5.  
  6.         for($i=1; $i<=$semanas_atras; $i++){
  7.             $fecha = date('Y-m-d',strtotime($fecha . " last monday "));
  8.             echo "<u> $i.- Semana:" . (date('W',strtotime($fecha))+1) . "</u><br/>";
  9.            
  10.             for($j=0; $j<7; $j++){
  11.                 echo date('d/m/Y', strtotime('01/01 +' . (date('W',strtotime($fecha))) . ' weeks first day +' . $j . ' day')) . '<br />';
  12.             }
  13.         }

Etiquetas: actual, anteriores, semanas
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 07:46.