Código PHP:
$mess = $_GET['mess'];
$anio = $_GET['anio'];
if($mess == "" || $anio == ""){
$anio = date("Y");
$mess = date("n");
}
$ultimo = date("t",mktime(0, 0, 0, $mess, 1, $anio));
if($mess == '12' || $mess == '1'){
if($mess == '12'){
$next = 1;
$prev = $mess -1;
$anion = $anio + 1;
$aniop = $anio;
}
if($mess == '1'){
$next = $mess + 1;
$prev = 12;
$anion = $anio;
$aniop = $anio -1;
}
}else{
$next = $mess + 1;
$prev = $mess - 1;
$aniop = $anio;
$anion = $anio;
}
echo "<tr><th colspan=7>$anio</th></tr><tr>";
echo "<tr><td><a href='".$_SERVER['PHP_SELF']."?mess=$prev&anio=$aniop'><<</a></td><th colspan=5>$mes[$mess]</th><td><a href='".$_SERVER['PHP_SELF']."?mess=$next&anio=$anion'>>></td></tr><tr>";
echo "<tr><td>D</td><td>L</td><td>M</td><td>M</td><td>J</td><td>V</td><td>S</td></tr>";
$diaa = "1";
$diaz = cargarmatriz($ultimo,$mess,$anio);
$j = 0;
while($diaa <= $ultimo){
$dia = date("D",mktime(0,0,0,$mess,$diaa,$anio)); # retorna el dia de la semana en letras...
$fecha = date("j",mktime(0,0,0,$mess,$diaa,$anio)); #retorna el dia del mes en 01/31
$dia_semana = date("w",mktime(0,0,0,$mess,$diaa,$anio)); #retorna el dia de la semana en numero
$evento = $anio."-".$mes_num[$mess]."-".$fecha;
if($dia == "Sun"){
echo "</tr><tr>";
}
if($fecha == "1"){
$i=0;
while($i != $dia_semana){
echo "<td> </td>";
$i++;
}
}
if($anio == date("o") && $mes[$mess] == $mes[date("n")] && $fecha == date("j")){
if($fecha == $diaz[$j] ){
echo "<td class='tddia' align='center'><b><a href='mostrar.php?evento=$evento' target='evento'>$fecha</a></b></td>";
$j++;
}else{
echo "<td class='calendario' align='center'><b>$fecha</b></td>";
}
}else{
if($fecha == $diaz[$j] ){
echo "<td class='tddia' align='center'><b><a href='mostrar.php?evento=$evento' target='evento'>$fecha</a></b></td>";
$j++;
}else{
echo "<td align='center'>$fecha</td>";
}
}
$diaa++;
}
echo "</tr>";