Foros del Web » Programando para Internet » PHP »

quiero que un calendario marque con color los dias que hay actividad

Estas en el tema de quiero que un calendario marque con color los dias que hay actividad en el foro de PHP en Foros del Web. 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. ...
  #1 (permalink)  
Antiguo 24/12/2005, 12:08
 
Fecha de Ingreso: diciembre-2005
Mensajes: 33
Antigüedad: 12 años
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
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 21:26.