Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/06/2005, 13:37
asegoviaz
 
Fecha de Ingreso: enero-2003
Mensajes: 516
Antigüedad: 21 años, 2 meses
Puntos: 0
Pregunta Dudas con calendario

Hola,, amigos
Tengo este calendario del mes en curso
Código PHP:
style type="text/css">
<!--
.diassemana {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 7pt;
text-decoration: none;
}
-->
</style>
<body bgcolor="#FFFFFF">
<?
# o--------------------------------------------------------------------------o
# Funcion que despliega la fecha en formato de texto
# Ejemplo Lunes, Octubre 22 de 2001
# Creada por Exequiel Contreras Luna
# Contáctame en : [email][email protected][/email]
# Libre distribución, siempre que no se borre la nota de Creditos al autor.
# o--------------------------------------------------------------------------o

$dayarray=array("Domingo","Lunes","Martes","Miercoles","Jueves","Viernes","Sábado","Domingo");
$montharray=array("Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre");
$diasemanadate("w");
$diamesdate("d");
$mesdate("m");
$mesantdate("m")-1;
$anodate("Y");
$diasdelmes=date("t");
$diamesant=date($mesant);

// en ésta variable se almacena la fecha en modo de texto, se puede mostrar usando un echo o print o lo ke kieran.
$lafecha=$dayarray[$diasemana].", ".$montharray[$mes-1]." ".$diames." de ".$ano;
// se puede alterar el orden si lo deseas
$festenero=array(1);
$festfebrero=array();
$festmarzo=array();
$festabril=array(18,19);
$festmayo=array(1,21);
$festjunio=array(16);
$festjulio=array();
$festagosto=array(15);
$festsept=array(18,19);
$festoct=array();
$festnov=array(1);
$festdic=array(8,25);



$festivos=array(18,19); // escoge los días festivos de acuerdo a tu país, tb puedes incluir Domingos y sábados

$totalfestivos=count($festivos); // Cantidad de días festivos

// calcula el inicio del mes actual
$diasatras=$diames;

$arraymesfull=array(42);
$arraymesfull[$diames]=$dayarray[$diasemana];

$i=$diames;
$decdiasemana=$diasemana;
while (
$i>=0)
{
$empiezaen=$decdiasemana+1;
$i=$i-1;
if (
$decdiasemana==0)
{
$decdiasemana=6;
}
else
{
$decdiasemana=$decdiasemana-1;
}

}

for (
$i=0;$i<=42;$i++)
{
$arraymesfull[$i]=" ";
}

$i=0;
$j=1;
for (
$i=$empiezaen;$j<=$diasdelmes;$i++)
{
$arraymesfull[$i]=$j;
$j++;
}
?>
<span class="diassemana"><i><?=$lafecha?></i></span>
<table border="1" cellspacing="0" cellpadding="0" bordercolor="#000000">
<tr>
<td>
<table border="0" cellspacing="1" cellpadding="0">
<tr class="diassemana">
<td colspan="7"> <div align="center"><font size="1"><b><font face="Trebuchet MS, Tahoma">
<? echo $montharray[$mes-1]; ?> </font></b></font></div></td>
</tr>
<tr class="diassemana">
<td width="20" bgcolor="#000000"> <div align="center"><font color="#FFFFCC">D</font></div></td>
<td width="20" bgcolor="#000000"> <div align="center"><font color="#FFFFCC">L</font></div></td>
<td width="20" bgcolor="#000000"> <div align="center"><font color="#FFFFCC">M</font></div></td>
<td width="20" bgcolor="#000000"> <div align="center"><font color="#FFFFCC">M</font></div></td>
<td width="20" bgcolor="#000000"> <div align="center"><font color="#FFFFCC">J</font></div></td>
<td width="20" bgcolor="#000000"> <div align="center"><font color="#FFFFCC">V</font></div></td>
<td width="20" bgcolor="#000000"> <div align="center"><font color="#FFFFCC">S</font></div></td>
</tr>
<tr>
<?
$j
=0;
for (
$i=0;$i<=42;$i++)
{
$verfest=0;
$bcolor="#E8E8E8"$fcolor="#000000";
if (
$diames==$arraymesfull[$i]) { $bcolor="#000000"$fcolor="#FFFFFF"; }
for (
$verfest==0;$verfest<$totalfestivos;$verfest++) {
if (
$arraymesfull[$i]==$festivos[$verfest]) { $bcolor="#E8E8E8"$fcolor="#CC0000"; }
}
?>
<td width="20" align="center" bgcolor=<? echo $bcolor ?> class="diassemana" ><font color=<? echo $fcolor?>>
<? echo $arraymesfull[$i]; ?> </font></td>
<? 
if ($j==6) {$j=0?>
</tr>
<tr>
<? }
else {
$j=$j+1;}
?>
</table>

</td>
</tr>
</table>
El asunto es q deseo q tenga opcion a mostrar hasta 3 meses antes del mes actual, asi como al hacerle click envie a un pop-up la fecha en formato en 0000-00-00.
Gracias