Estoy haciendo un calendario para que los usuarios puedan ver las noticias de mi web clasificadas no solo por categoria sino por dias y meses tambien. He estado revisando y en DesarrolloWeb hay un tutorial muy bueno al respecto. He logrado modificar el codigo y adaptarlo a mis necesidades pero me queda una pequeña duda. Este el el codigo en cuestion:
Código PHP:
    function calcula_numero_dia_semana($dia,$mes,$ano){
  $numerodiasemana = date('w', mktime(0,0,0,$mes,$dia,$ano));
  if ($numerodiasemana == 0)
   $numerodiasemana = 6;
  else
   $numerodiasemana--;
  return $numerodiasemana;
 }
 
 function ultimoDia($mes,$ano){
  $ultimo_dia=28;
  while (checkdate($mes,$ultimo_dia + 1,$ano)){
   $ultimo_dia++;
  }
  return $ultimo_dia;
 }
 
 function dame_nombre_mes($mes){
  switch ($mes){
   case 1:
    $nombre_mes="Enero";
   break;
   case 2:
    $nombre_mes="Febrero";
   break;
   case 3:
    $nombre_mes="Marzo";
   break;
   case 4:
    $nombre_mes="Abril";
   break;
   case 5:
    $nombre_mes="Mayo";
   break;
   case 6:
    $nombre_mes="Junio";
   break;
   case 7:
    $nombre_mes="Julio";
   break;
   case 8:
    $nombre_mes="Agosto";
   break;
   case 9:
    $nombre_mes="Septiembre";
   break;
   case 10:
    $nombre_mes="Octubre";
   break;
   case 11:
    $nombre_mes="Noviembre";
   break;
   case 12:
    $nombre_mes="Diciembre";
   break;
  }
  return $nombre_mes;
 }
 
 function Calendar($mes,$ano,$categoria){
  $nombre_mes = dame_nombre_mes($mes);
  $mes_anterior = $mes - 1;
  $ano_anterior = $ano;
  if ($mes_anterior == 0){
   $ano_anterior--;
   $mes_anterior = 12;
  }
  $mes_siguiente = $mes + 1;
  $ano_siguiente = $ano;
  if ($mes_siguiente==13){
   $ano_siguiente++;
   $mes_siguiente=1;
  }
  echo "<table width='15%'  border='0' cellspacing='1' cellpadding='0' class='panel table'>";
  echo "<tr>";
  echo "<td colspan='7' class='padding font topics bold tr' align='center'><span class='info' title='Ir al mes anterior'><a href='noticias.php?categoria=".$categoria."&mes=".$mes_anterior."&ano=".$ano_anterior."&jcgrmsid=".session_id()."'><<</a></span> ".$nombre_mes." ".$ano." <span class='info' title='Ir al mes siguiente'><a href='noticias.php?categoria=".$categoria."&mes=".$mes_siguiente."&ano=".$ano_siguiente."&jcgrmsid=".session_id()."'>>></a></span> </td>";
  echo "</tr>";
  echo "<tr>";
  echo "<td class='padding font bold' align='center'>D</td>";
  echo "<td class='padding font bold' align='center'>L</td>";
  echo "<td class='padding font bold' align='center'>M</td>";
  echo "<td class='padding font bold' align='center'>M</td>";
  echo "<td class='padding font bold' align='center'>J</td>";
  echo "<td class='padding font bold' align='center'>V</td>";
  echo "<td class='padding font bold' align='center'>S</td>";
  echo "</tr>";
  $dia_actual = 1;
  $numero_dia = calcula_numero_dia_semana(1,$mes,$ano);
  $ultimo_dia = ultimoDia($mes,$ano);
  echo "<tr>";
  for($i=-1;$i<6;$i++){
   if($i < $numero_dia){
    echo "<td></td>";
   }else{
    echo "<td align='center' class='padding font'><span class='info' title='Noticias de ".$dia_actual."/".$mes."/".$ano."'><a href='noticias.php?accion=mostrar&categoria=".$categoria."&dia=".$dia_actual."&mes=".$mes."&ano=".$ano."&jcgrmsid=".session_id()."'>".$dia_actual."</a></span></td>";
    $dia_actual++;
   }
  }
  echo "</tr>";
  $numero_dia = 0;
  while ($dia_actual <= $ultimo_dia){
   if ($numero_dia == 0)
    echo "<tr>";
    echo "<td align='center' class='padding font'><span class='info' title='Noticias de ".$dia_actual."/".$mes."/".$ano."'><a href='noticias.php?accion=mostrar&categoria=".$categoria."&dia=".$dia_actual."&mes=".$mes."&ano=".$ano."&jcgrmsid=".session_id()."'>".$dia_actual."</a></span></td>";
    $dia_actual++;
    $numero_dia++;
    if ($numero_dia == 7){
     $numero_dia = 0;
     echo "</tr>";
    }
   }
  for ($i=$numero_dia;$i<7;$i++){
   echo "<td></td>";
  }
  echo "</tr>";
  echo "</table>";
 } 
    Código PHP:
   $mes = date("m");
   $ano = date("Y");
   Calendar($mes,$ano,$_GET['categoria']); 
    Salu2
 
 
 
