Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/12/2005, 12:08
heman24
 
Fecha de Ingreso: diciembre-2005
Mensajes: 33
Antigüedad: 18 años, 4 meses
Puntos: 0
quiero que un calendario marque con color los dias que hay actividad

HOla, como puedo hacer para que en esta rutina que baje de un foro de aca, me muestre en color las fechas que tengo actividad. La idea es que lo uso como indicador de eventos. y clickeando en cada una, veo el detalle. PEro me gustaria que a simple vista, y haciendo alguna consulta sql, cheque las fechas que hay registro y me las coloree. Pense en hacer una consulta por cada uno, pero es medio torpe. Agradezco su ayuda de antemano.
Código PHP:
<?
// DiaSemana($dia,$mes,$ano);  
 
NombreMes($mes); 
 
ultimoDia($mes,$ano); 
 
//Calendar($mes,$ano);  
 
 
function DiaSemana($dia,$mes,$ano){  
 
$numerodiasemana date('w'mktime(0,0,0,$mes,$dia,$ano));  
  if(
$numerodiasemana == 0){ $numerodiasemana 6; } else { $numerodiasemana--; }  
  return 
$numerodiasemana;  
}  
?>
<? 
function NombreMes($mes){  
  switch (
$mes){  
   case 
1:  $nombre "Ene";  break;  
   case 
2:  $nombre "Feb";  break;  
   case 
3:  $nombre "Mar";  break;  
   case 
4:  $nombre "Abr";  break;  
   case 
5:  $nombre "May";  break;  
   case 
6:  $nombre "Jun";  break;  
   case 
7:  $nombre "Jul";  break;  
   case 
8:  $nombre "Ago";  break;  
   case 
9:  $nombre "Sep";  break;  
   case 
10$nombre "Oct";  break;  
   case 
11$nombre "Nov";  break;  
   case 
12$nombre "Dic";  break;  
  }  
  return 
$nombre;  
}  
?>
<?
function ultimoDia($mes,$ano){  
  
$ultimo_dia=28;  
  while (
checkdate($mes,$ultimo_dia 1,$ano)){ $ultimo_dia++; }  
  return 
$ultimo_dia;  
}  
?>
<?
# Calendario de meses  
function Calendar($mes,$ano){  
  
$nombremes NombreMes($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='100'  border='0' cellspacing='0' cellpadding='0' align='center'>";  
  echo 
"</table>";  
  echo 
"<table width='100'  border='1' bordercolor ='#CCCCCC'cellspacing='3' cellpadding='0' align='center' class='calendar'>";  
  echo 
"<tr><td colspan='7' class='normal' align='center' bgcolor='#336600'><a href='".basename($_SERVER['PATH_TRANSLATED'])."?mes=".($mes_anterior)."&ano=".($ano_anterior)."&sid=".session_id()."'><< </a> ".$nombremes." ".$ano." <a href='".basename($_SERVER['PATH_TRANSLATED'])."?mes=".($mes_siguiente)."&ano=".($ano_siguiente)."&sid=".session_id()."'>>> </a></td></tr>";  
  echo 
"<tr>";  
  echo 
"<td align='center' bgcolor='#336600'>D</td>";  
  echo 
"<td align='center' bgcolor='#336600'>L</td>";  
  echo 
"<td align='center' bgcolor='#336600'>M</td>";  
  echo 
"<td align='center' bgcolor='#336600'>M</td>";  
  echo 
"<td align='center' bgcolor='#336600'>J</td>";  
  echo 
"<td align='center' bgcolor='#336600'>V</td>";  
  echo 
"<td align='center' bgcolor='#336600'>S</td>";  
  echo 
"</tr>";  
  
$dia_actual 1;  
  
$numero_dia DiaSemana(1,$mes,$ano);  
  
$ultimo_dia ultimoDia($mes,$ano);  
  
$diaact date("d");  
  
$mesact date("m");  
  
$anoact date("Y");  
  echo 
"<tr>";  
  for(
$i=-1;$i<6;$i++){  
   if((
$dia_actual<=$diaact) && ($mes<=$mesact) && ($ano<=$anoact)){  
    
$bgcolor "#33882D";  
   }elseif((
$dia_actual>$diaact) && ($mes>=$mesact) || ($ano>$anoact)){  
    
$bgcolor "#33882D";  
   }elseif (
$mes>$mesact){  
    
$bgcolor "#33882D";  
   }  
   if((
$dia_actual<=$diaact) && ($mes<=$mesact) && ($ano<=$anoact)){  
    
$enlace "calendario/calendar.php?action=show&dia=".$dia_actual."&mes=".$mes."&ano=".$ano."&sid=".session_id()."";  
   }else{  
    
$enlace "calendario/calendar.php?action=show&dia=".$dia_actual."&mes=".$mes."&ano=".$ano."&sid=".session_id()."";    
   }  
   if(
$i $numero_dia){  
    echo 
"<td class='calendar' bgcolor='#33882D'>&nbsp;</td>";  
   }else{  
    echo 
"<td align='center' bgcolor='".$bgcolor."'><a href=".$enlace."><span class='info' title='Mostrar contenido de ".($dia_actual."-".$mes."-".$ano)."'>".$dia_actual."</span></a></td>";  
    
$dia_actual++;  
   }  
  }  
  echo 
"</tr>";  
  
$numero_dia 0;  
  while(
$dia_actual <= $ultimo_dia){  
   if((
$dia_actual<=$diaact) && ($mes<=$mesact) && ($ano<=$anoact)){  
    
$bgcolor "#33882D";  
   }elseif((
$dia_actual>$diaact) && ($mes>=$mesact) || ($ano>$anoact)){  
    
$bgcolor "#33882D";  
   }elseif (
$mes>$mesact){  
    
$bgcolor "#33882D";  
   }  
   if((
$dia_actual<=$diaact) && ($mes<=$mesact) && ($ano<=$anoact)){  
    
$enlace "calendario/calendar.php?action=show&dia=".$dia_actual."&mes=".$mes."&ano=".$ano."&sid=".session_id()."";  
   }else{  
    
$enlace "calendario/calendar.php?action=show&dia=".$dia_actual."&mes=".$mes."&ano=".$ano."&sid=".session_id()."";    
   }  
   if (
$numero_dia == 0)  
    echo 
"<tr>";  
    echo 
"<td align='center' bgcolor='".$bgcolor."'><a href=".$enlace."><span class='info' title='Mostrar contenido de ".($dia_actual."-".$mes."-".$ano)."'>".$dia_actual."</span></a></td>";  
    
$dia_actual++;  
    
$numero_dia++;  
    if (
$numero_dia == 7){  
     
$numero_dia 0;  
     echo 
"</tr>";  
    }  
   }  
  for (
$i=$numero_dia;$i<7;$i++){  
   echo 
"<td bgcolor='#33882D'>&nbsp;</td>";  
  }  
  echo 
"</tr>";  
  echo 
"</table>";  
}  
?>

Última edición por Cluster; 26/12/2005 a las 07:18