Affiche un calendrier en PHP
Qui n’a pas rêvé d’avoir un joli calendrier sur site ?
<?php function calendrier() { $magik1=date("n");$magik2=date("Y");$magik3=date("w", mktime(0,0,0,$magik1,1,$magik2)); $magik4=date("t");$magik6=date("d"); $magik1e=array("Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Aout", "Septembre","Octobre","Novembre","Décembre"); $donnees = ''; if ($magik3==0) {$magik3=7;} $donnees .= "<table class=\"table_calendrier\" border=\"0\">\n"; $donnees .= " <tr>\n"; $donnees .= " <td colspan=\"7\" class=\"th_calendrier\">\n"; $donnees .= date("d").' '.$magik1e[$magik1-1].'('.date("m").') '.date("Y").' - '.date("H").':'.date("i").':'.date("s")."\n"; $donnees .= " </td>\n"; $donnees .= " <tr>\n"; $donnees .= " <tr class=\"tr_header_calendrier\">\n"; $donnees .= " <td class=\"td_calendrier\">Lun</td>\n"; $donnees .= " <td class=\"td_calendrier\">Mar</td>\n"; $donnees .= " <td class=\"td_calendrier\">Mer</td>\n"; $donnees .= " <td class=\"td_calendrier\">Jeu</td>\n"; $donnees .= " <td class=\"td_calendrier\">Ven</td>\n"; $donnees .= " <td class=\"td_calendrier\">Sam</td>\n"; $donnees .= " <td class=\"td_calendrier\">Dim</td>\n"; $donnees .= " </tr>\n"; $donnees .= " <tr>\n"; $i=1; while ($i<$magik3) { $i++; $donnees .= "<td class=\"td_calendrier\"> </td>\n"; } $i=1; while ($i<=$magik4) { $magik5=($i+$magik3-1)%7; $donnees .= "<td class=\"td_calendrier\">\n"; if ($i==$magik6) { $donnees .= "<span class=\"jour_courrant_calendrier\" title=\"Jour courrant\">".$i."</span>\n"; } else if ($magik5==6) { $donnees .= "<span class=\"weekend_calendrier\" title=\"Week-end\">".$i."</span>\n"; } else if ($magik5==0) { $donnees .= "<span class=\"weekend_calendrier\" title=\"Week-end\">".$i."</span>\n"; } else { $donnees .= "<span class=\"jour_calendrier\">".$i."</span>\n"; } $donnees .= "</td>\n"; if ($magik5==0) { $donnees .= " </tr>\n"; $donnees .= " <tr>\n"; } $i++; } $donnees .= " </tr>\n"; $donnees .= "</table>\n"; return $donnees; } ?>
Pour utiliser la fonction:
<?php echo calendrier(); // On utilise la fonction qui affiche le calendrier ?>
Ce qui donne:
Malheureusement c’est pas très beau, il faut donc une petite touche de CSS:
.table_calendrier { margin: 10px auto auto auto; border: 1px solid black; border-radius: 3px; border-collapse: separate; padding: 0.3em; background-color:#F1F1F1; font-size:8pt; font-family:verdana,arial,tahoma; text-align: center; } .th_calendrier { background-color:#1A35E8; color:FFFFFF; } .tr_header_calendrier { background-color:#344DED; color:FFFFFF; } .td_calendrier { padding: 0.3em; border: 0px solid black; border-radius: 4px; } .jour_courrant_calendrier { border: solid #B6C1D0 1px; border-radius: 4px; color:#ffffff; padding-top:2px; padding-left:6px; padding-right:6px; padding-bottom:2px; background-color:#99CCFF; font-size:8pt; } .weekend_calendrier { border: solid #B6C1D0 1px; border-radius: 4px; background-color:#F1F1F1; color:red; padding-top:2px; padding-left:6px; padding-right:6px; padding-bottom:2px; font-size:9pt; font-family:verdana,arial,tahoma; } .jour_calendrier { border: solid #B6C1D0 1px; border-radius: 4px; background-color:#F1F1F1; color:blue; padding-top:2px; padding-left:6px; padding-right:6px; padding-bottom:2px; font-size:9pt; font-family:verdana,arial,tahoma; }
Voila ce que ça donne:
Si vous voulez tester par vous même tout est disponible en téléchargement:
Afficher un calendrier en PHP (1,5 KiB, 952 hits)