Le langage de programmation PHP dispose date et l'heure des fonctions qui simplifient la création d'un calendrier mensuel . La " date () " retourne une date formatée , ou une partie d'une date , d'un timestamp UNIX donné. Le " mktime ()" fonction retourne un timestamp UNIX d'une date et une heure donnée. En combinant les deux , vous pouvez récupérer le nom du mois, les premier et dernier jours du mois , et d'autres valeurs utiles pour imprimer votre calendrier . Créer un calendrier de base, puis construire sur elle pour l'adapter à vos besoins. Choses que vous devez
PHP éditeur de code ou éditeur de texte
Afficher plus Instructions
1
Commencez votre code civil en définissant le fuseau horaire par défaut de votre région. Cela permettra d'assurer le mois en cours et d'aujourd'hui sont affichés correctement
< phpdate_default_timezone_set (' Amérique /Denver "); . ?
2
Consultez le tableau $ _REQUEST du script pour voir si l' variables « année », «mois », et ont été fixés. Sinon, fixé à des valeurs d'aujourd'hui et assigner à des variables $ mois et $ année .
If (! Isset ($ _REQUEST [" mois "] ) ) $ _REQUEST [" mois "] = date ( " n "); if ( isset ($ _REQUEST ! [" an "] ) ) $ _REQUEST [" an "] = date ( " Y ") ; $ mois = $ _REQUEST [" mois "] ; $ annee = $ _REQUEST [ ,"" année "] ;
date de
( "n ") renvoie le mois numérique , et la date ( "Y ") renvoie aux quatre chiffres . Voir le «Manuel PHP: date». Documentation liée à la section Références pour une liste complète de mise en forme les chaînes de caractères
3
Générer un timestamp , en utilisant mktime (), pour le premier jour de le mois et l'année prévue . Définissez les paramètres de temps à «0». Le temps n'est pas nécessaire pour imprimer un calendrier
$ timestamp = mktime (0 , 0, 0 , $ mois , 1, $ an); .
4
créer des variables pour tenir le nom du mois ( monthtxt $ ) , le numérique dernier jour du mois ( lastday $ ) , et le jour numérique de la semaine, le premier jour du mois tombe ($ firstdow , où le dimanche est "0") .
$ monthtxt = date ( "F", $ timestamp ) ; lastday $ = date ( "t" , $ timestamp ) ; $ firstdow = date ( "w" , $ timestamp ) ; ? > Photos
5
Créer l'en-tête du calendrier, l'impression du mois ( monthtxt $ ) et l'année ($ an) au-dessus d'une table avec sept colonnes surmontées avec le jour -of- the-week -têtes de colonnes .
< ; ? ? h2> < php echo $ monthtxt > < php echo $ l'année
6
Démarrer une boucle pour parcourir chaque cellule du tableau dans le calendrier. La valeur d $ comptera par le nombre de cellules d'un tableau à partir de la cellule supérieure gauche ("0" ) de la table à travers la cellule contenant le dernier jour du mois ( lastday $ + firstdow - 1).
< P > < phpfor ($ d = 0 ; $ d <( lastday $ + firstdow ) ; $ d + +). {
7
calculer le jour du mois en cours d'impression dans la table
curday $ = D - $ firstdow + 1;
8
Démarrer une nouvelle ligne de tableau si les terres de comptage actuelles sur la première colonne du tableau. d $ 7 % renvoie le reste de $ d /7. Lors d $ 7 % est 0, le compteur est sur la colonne "Sunday "
if (( $ d % 7 ) == 0 ) echo "
\\ n"; .
9 Imprimer la cellule du tableau . Lorsque $ d a compté jusqu'à la première cellule du tableau contenant un jour valide du mois, il affichera la valeur de ce jour-là dans la cellule du tableau
echo "
" ; . If ( $ d > = $ firstdow ) echo $ curday ; echo " | \\ n";
10 Fin de la ligne de la table si les terres de comptage actuelles sur la dernière colonne du tableau. Lors d $ 7 % est de 6, le compteur est sur la colonne "Saturday "
if (( $ d % 7) == 6 ) echo "
\\ n"; .
11
Fin de la boucle for , PHP récipient , et la table.
} ? > < /table>
12
Testez votre script PHP. Appelez-le avec le mois et l'année pour imprimer un calendrier pour un mois spécifique ( par exemple , http://yoursite.com/calendar.php?month=2&year=2008 ) .