Accueil > Programmes > Projets PHP pour Sites WEB > Agendas > Mon Agenda Perpétuel en PHP > I - MAPP - Mon Agenda Perpétuel en PHP (Projet) > Agenda Perpétuel en PHP (1)
PHP, Agenda
Agenda Perpétuel en PHP (1)
Version 1
mercredi 4 octobre 2006, par
Comment créer un agenda perpétuel en PHP ?
Inspiré du manuel Micro Application PHP 5 astuces d’experts
Un petit script PHP qui permet d’afficher 1 petit calendrier du mois en injectant uniquement le Mois (m)et l’année (a)
J’ai simplifié le script en
décalant les semaines à la française
- (du Lundi au Dimanche)
- au lieu du dimanche au samedi
J’ai supprimé l’imbrication des 2 tableaux
en argumentant la balise CAPTION du second tableau
J’ai remplacé la fonction "Nombre de jour par mois"
par la macro beaucoup plus simple et étudiée pour : date("t")
En annexe
Détail du script php
Téléchargement
Exemples
affiche_mois ?m=1
Affiche le mois de Janvier courant
affiche_mois ?m=12&a=2006
Affiche le mois de Décembre 2006
<?php
### AFFICHE MOIS ###
# Affiche le planning du mois
###
include("inc/inc_dates.php");
echo "<style>body {font-family:arial;}</style>";
$m = isset($_GET['m']) ? $_GET['m'] : date("n");
$a = isset($_GET['a']) ? $_GET['a'] : date("Y");
// Nombre de jours du mois = date("t", timestamp);
$longueur_mois = date("t", mktime(0,0,0,$m,1,$a));
################################################################################
# TITRE MOIS ANNEE Ex Mars 2006
################################################################################
echo "
<table align='center' border='0' cellspacing='1' cellpadding='1'><tr>
<caption><big>$fr_mois[$m] $a</big></caption>";
################################################################################
# Affiche la ligne d'entete des jours de la semaine Dim, Lun etc ..
################################################################################
for ($i=0;$i<7;$i++)
{
echo "<th bgcolor='yellow'>".$fr_jour_court[$i+1]."</th>"; // Décale d'un Jour +1 pour commencer le lundi
};
echo "</tr>"; // Fin ligne entête
################################################################################
echo "<tr>";
/** Place le 1er jour du mois
* sur la colonne correspondant de la semaine
* Pour ce faire place des cases vides en début de 1ere semaine du mois
**/
$tab=getdate(mktime(0,0,0,$m,$i,$a));
$premierjour=$tab["wday"]; // 0 = Dim
//$premierjour=($premierjour+8)%7;
for($i=0;$i<$premierjour;$i++)
{
echo"<td> </td>";
}
################################################################################
# remplit maintenant ligne a pres ligne les jours restants
# chaque ligne étant une semaine qui commence / dim = 0 et termine / sam = 6
for($i=0;$i<$longueur_mois;$i++)
{
if( ($i+$premierjour) % 7 == 0) // Tous les 7 jours décomptés
{
echo"</tr><tr>"; // Saute la ligne suivante
}
$defaut=date("d"); // Surligne le jour en cours
echo"<td align='right' bgcolor='skyblue'>";
// echo ($i==$defaut-1) ? "<b>".($i+1)."</b>" : $i+1; // Décale d'un jour pour rattraper le Lundi
echo $i+1; // Décale d'un jour pour rattraper le Lundi
echo "</td>";
}
echo "
</tr>
</table>
";
?>