Foros del Web » Programando para Internet » PHP »

Calendario Semanal

Estas en el tema de Calendario Semanal en el foro de PHP en Foros del Web. Estimados, estoy intentando modificar el código para generar un calendario que encontré aquí: http://www.forosdelweb.com/wiki/PHP:..._calendario%3F hasta el momento voy bien y he podido generar la primera ...
  #1 (permalink)  
Antiguo 17/04/2012, 19:02
Avatar de gepd  
Fecha de Ingreso: diciembre-2007
Mensajes: 142
Antigüedad: 16 años, 5 meses
Puntos: 6
Calendario Semanal

Estimados, estoy intentando modificar el código para generar un calendario que encontré aquí: http://www.forosdelweb.com/wiki/PHP:..._calendario%3F

hasta el momento voy bien y he podido generar la primera semana del mes, aquí una imagen de como se ve



el asunto es que no sé como poder "rellenar" el resto de los días con las fechas que corresponden, lo que se ve en la imagen es la primera semana del mes de abril, supongo que eso mismo que no se me ocurre me ayudará para generar los link a la semana anterior, siguiente.

aquí está el código de como va hasta ahora

Código PHP:
Ver original
  1. <?php
  2.         $mes = 4;
  3.         $anio = 2012;      
  4.        
  5.                 echo "<tr class='encabezado'>";
  6.         echo "<td>L</td><td>M</td><td>M</td><td>J</td><td>V</td><td>S</td><td>D</td></tr><tr class='semana'>";
  7.        
  8.         $dia = 1;
  9.         while($dia <= 7){
  10.             $dia_semana = date("N",mktime(0,0,0,$mes,$dia,$anio));//días de la semana del 1 al 7
  11.             $fecha = date("j",mktime(0,0,0,$mes,$dia,$anio));//retorna el día del mes en 1/31
  12.            
  13.             if ($fecha == 1){
  14.                
  15.                 $i = 1;
  16.                
  17.                 while($i != $dia_semana){
  18.                     echo "<td>&nbsp;</td>";
  19.                     $i++; $dia++;              
  20.                 }
  21.             }
  22.            
  23.             echo "<td>".$fecha."</td>";
  24.            
  25.                    
  26.             $dia++;    
  27.         }
  28.        
  29.         echo "</tr>";
  30.        
  31. ?>

agradezco desde ya cualquier comentario/ayuda
  #2 (permalink)  
Antiguo 17/04/2012, 20:09
Avatar de gepd  
Fecha de Ingreso: diciembre-2007
Mensajes: 142
Antigüedad: 16 años, 5 meses
Puntos: 6
Respuesta: Calendario Semanal

Bueno he conseguido mostrar los días faltantes modificando esta parte del código:

Código PHP:
Ver original
  1. $i = 1;
  2. $adia = ($dia_semana * -1) + 2;
  3.                                
  4. while($i != $dia_semana){
  5.     $afecha = date("j",mktime(0,0,0,$mes,$adia,$anio));
  6.        
  7.         echo "<td class='no'>".$afecha."</td>";
  8.         $i++; $dia++; $adia++;
  9. }

si alguien tiene una solución mejor será bienvenida, lo que aún no logro solucionar es la paginación (<<Semana Anterior | Semana siguiente >>)
  #3 (permalink)  
Antiguo 19/04/2012, 21:36
Avatar de gepd  
Fecha de Ingreso: diciembre-2007
Mensajes: 142
Antigüedad: 16 años, 5 meses
Puntos: 6
Respuesta: Calendario Semanal

¿nadie puede ayudarme?

me he dado cuenta que con la ultima función el código me muestra

1 3 4 5 6 7

saltándose el día 2

aquí hay una ejemplo funcionando para ver si se entiende mejor
agradecería alguien que me pueda decir alguna forma mejor de solucionar mi problema

Última edición por gepd; 19/04/2012 a las 22:45

Etiquetas: calendario, semanal
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 22:22.