Un petit calendrier

Soyez le premier à donner votre avis sur cette source.

Vue 9 353 fois - Téléchargée 779 fois

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

Ajouter un commentaire

Commentaires

cs_Tortuegeniale
Messages postés
1123
Date d'inscription
lundi 7 janvier 2002
Statut
Membre
Dernière intervention
26 juin 2008
1 -
C'est pas trés approfondi (c voulu je sais lol) mais j'aime bien l'idée ;-)
olly60
Messages postés
3
Date d'inscription
lundi 14 avril 2003
Statut
Membre
Dernière intervention
15 juillet 2003
-
c pa terrible cette source......
g deja vu mieu.....
_Thy_
Messages postés
33
Date d'inscription
mardi 24 août 2004
Statut
Membre
Dernière intervention
19 septembre 2005
-
olly60 :
Et bé c'est bien. Si tu as d'autres commentaires aussi constructifs surtout n'hésite pas : garde-les.

Tortuegeniale :
Juste une petite remarque constructive : les siècles ne sont pas bissextiles, bien que divisibles par 4. Mais les millénaires le sont, donc 2000 était bissextile, mais 2100 ne le sera pas.

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.