Un petit calendrier

Description

c'est un petit calendrier du moins il affiche les jours du mois en cours sous forme de tableau.
En gros, on peut l'améliorer très facilement pour en faire un agenda. Si quelqu'un se sens motivé.

Source / Exemple :


<?php
// on met les en-tetes pour faire une page Oueb propre
echo '
<html>
<head>
<title>Calendrier</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#336699">
<font face="Trebuchet MS" lang="fr">';

// on claque nos données dans différentes variables
$jour=strftime("%d");
$mois=strftime("%m");
$annee=strftime("%y");

// on vérifie pour les années bisextiles, on ne sait jamais.
if (($annee%4)==0) $fev=29; else $fev=28;

$nb_jour= array(31,$fev,31,30,31,30,31,31,30,31,30,31);

// Ces variables vont nous servir pour mettre les jours dans les bonnes colonnes  
$jour_debut_mois=strftime("%w",time()-($jour-1)*24*3600);
$jour_fin_mois=strftime("%w",mktime(0,0,0,$mois,$nb_jour[$mois-1],$annee));

// on n'oublie pas de mettre le mois en français et on n'a plus qu'à mettre les en-têtes
setlocale ("LC_TIME", "fr");
echo '<p align="center"><strong><font size="+3">'.strtoupper(strftime("%B")).'</font></strong></p>'; 
echo '<table width="210" border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#330066" bgcolor="#FFFFFF">
  <tr bgcolor="#99CCFF">
    <th width="30" height="30" align="center">L</th>
    <th width="30" height="30" align="center">M</th>
    <th width="30" height="30" align="center">M</th>
    <th width="30" height="30" align="center">J</th>
    <th width="30" height="30" align="center">V</th>
    <th width="30" height="30" align="center">S</th>
    <th width="30" height="30" align="center">D</th>
  </tr>
  <tr>';

// Il faut insérer des cases vides pour mettre le premier jour du mois 
// en face du jour de la semaine qui lui correspond.
for ($i=1;$i<$jour_debut_mois;$i++) 
	echo ' <td align="center">&nbsp;</td> ';

// voici le remplissage proprement dit
for ($i=1;$i<$nb_jour[$mois-1]+1;$i++){

	// on met une tit' image pour désigné le jour courant
	if ($i==$jour) $coloriage=' background="rond.gif"'; 
    	else $coloriage=' ';

	echo '<td align="center"'.$coloriage.' height="30">'.$i.'</td>';

// il ne faut pas oublié d'aller à la ligne suivante enfin de semaine
	if (($i+$jour_debut_mois)%7==1) 
		echo '</tr>
 <tr>';
}

// on recommence pour finir le tableau proprement pour les mêmes raisons
for ($i=0;$i<7-$jour_fin_mois;$i++) echo '<td align="center">&nbsp;</td>';

echo "</tr>
		</table>
</font>
</body>
</html>";

// et voilà !!!
?>

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.