Un petit calendrier

Soyez le premier à donner votre avis sur cette source.

Vue 9 595 fois - Téléchargée 801 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
_Thy_ Messages postés 33 Date d'inscription mardi 24 août 2004 Statut Membre Dernière intervention 19 septembre 2005
2 févr. 2005 à 17:34
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.
olly60 Messages postés 3 Date d'inscription lundi 14 avril 2003 Statut Membre Dernière intervention 15 juillet 2003
15 juil. 2003 à 22:21
c pa terrible cette source......
g deja vu mieu.....
cs_Tortuegeniale Messages postés 1123 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 26 juin 2008
7 avril 2003 à 19:30
C'est pas trés approfondi (c voulu je sais lol) mais j'aime bien l'idée ;-)

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.