Ver Mensaje Individual
  #2 (permalink)  
Antiguo 08/05/2008, 08:44
Ziyad
 
Fecha de Ingreso: abril-2008
Mensajes: 34
Antigüedad: 16 años
Puntos: 0
Re: ayuda con calendarios

Aquí tienes uno que ya fue posteado en otro tema del foro. Funciona llamando a la función pasandole el mes, año y la forma en que quieres que se nombren los dias. Si quieres modificalo para que coja la fecha actual, ya a tu gusto.


function calendario ($mes , $anyo , $formato="L,M,X,J,V,S,D") {

$celda_vacia = "&nbsp;"; //ESTA CADENA IRÍA DENTRO DE LOS <tr> VACÍOS

$dias_total = cal_days_in_month (0 , $mes , $anyo);
$datos_fecha = getdate(strtotime($anyo . '-' . $mes . '-1'));
$dia_semana = $datos_fecha['wday']; //de 0 (domingo) a 6 (sabado)
$dias_nombre = explode("," , $formato);
$dias_array = array();
$dias_vacios = 35-$dias_total;
$tabla = '
<table width="710" cellpadding="2" cellspacing="01" border="0" id="calendar">
<tr id="noborder">
<td colspan="7" class="subHeader" align="center">Mes</td>
</tr>
<tr id="weekdays" bgcolor="#003399">
<th width=25 height=25>' . $dias_nombre[0] . '</th>
<th width=25 height=25>' . $dias_nombre[1] . '</th>
<th width=25 height=25>' . $dias_nombre[2] . '</th>
<th width=25 height=25>' . $dias_nombre[3] . '</th>
<th width=25 height=25>' . $dias_nombre[4] . '</th>
<th width=25 height=25>' . $dias_nombre[5] . '</th>
<th width=25 height=25>' . $dias_nombre[6] . '</th>

</tr>' . "\n" . ' <tr id="calheader" bgcolor="#ffffcc">';
$primer_dia = $dia_semana-1;
if($primer_dia == -1) {
$primer_dia = 6;
}
while($primer_dia != 0) {
$primer_dia--;
$tabla .= "\n" . ' <td>' . $celda_vacia . '</td>';
}
$primera_semana = 7-($dia_semana-1);
$dias_restantes = $dias_vacios-(7-$primera_semana);
for($i=1;$i<=$dias_total;$i++) {
$tabla .= "\n";
if($primera_semana == 8) {$primera_semana = 1;}
if($primera_semana == 0) {
$tabla .= " </tr>\n <tr id='calheader' bgcolor='#ffffcc'>\n";
$primera_semana = 7;
}
$tabla .= " <td valign='top' align='center' class='smallText'>$i</td>";
$primera_semana--;

}
if($dias_restantes == -1) {$dias_restantes = 6;}
if($dias_restantes == 7) {$dias_restantes = 0;}
for($i=0;$i<$dias_restantes;$i++) {
$tabla .= '
<td valign="top" align="center" class="smallText">' . $celda_vacia . '</td>';
}
$tabla .= '
</tr>
</table>';
return $tabla;
}


Un saludo.

Última edición por Ziyad; 09/05/2008 a las 03:24