Faire un calendrier.
Posté : 12 août 2014, 12:21
Bonjour,
Je souhaite créer un calendrier.
J'ai pris du code php déjà préparé car c'est compliqué pour
moi du tout faire tout seul et comme le code à l'air assez basique
il semble aussi assez simple à adapter selon nos besoins.
J'ai de grosses difficultés de compréhension à partir d'un certain moment,
car il y a des choses que je ne comprends vraiment pas.
Je voudrais vous poser des questions sur des points bien précis .
Je vous montre les fichiers:
Le code suivant me pose problème.
Je ne sais pas du tout qu'est-ce que c'est, à quoi elles servent et comment elles fonctionnent.
Je ne comprends donc pas non plus
Quant aux liens je ne sais pas non plus de quoi il s'agit:
Le reste m'a l'air assez facile à comprendre,
mais pour ce qui est des points évoqués je ne comprends rien du tout.
Je souhaite créer un calendrier.
J'ai pris du code php déjà préparé car c'est compliqué pour
moi du tout faire tout seul et comme le code à l'air assez basique
il semble aussi assez simple à adapter selon nos besoins.
J'ai de grosses difficultés de compréhension à partir d'un certain moment,
car il y a des choses que je ne comprends vraiment pas.
Je voudrais vous poser des questions sur des points bien précis .
Je vous montre les fichiers:
<?php # fonctions utiles, $valeur
# représente une date au format AAAA-MM-JJ
function getSecond($valeur) {
return substr($valeur, 17, 2);
}
function getMinute($valeur) {
return substr($valeur, 14, 2);
}
function getHour($valeur) {
return substr($valeur, 11, 2);
}
function getDay($valeur) {
return substr($valeur, 8, 2);
}
function getMonth($valeur) {
return substr($valeur, 5, 2);
}
function getYear($valeur) {
return substr($valeur, 0, 4);
}
function monthNumToName($mois) {
$tableau = Array("", "Janvier", "Février",
"Mars", "Avril", "Mai", "Juin", "Juillet",
"Aôut", "Septembre", "Octobre", "Novembre", "Décembre");
return (intval($mois) > 0 && intval($mois)
< 13) ? $tableau[intval($mois)] : "Indéfini";
}
?>
Ca, ça va assez bien.Le code suivant me pose problème.
<?php
# Fonction pour afficher le calendrier
function showCalendar($periode) {
$leCalendrier = "";
# Tableau des valeurs possibles pour un numéro
# de jour dans la semaine
$tableau = Array("0", "1", "2", "3", "4", "5", "6", "0");
$nb_jour = Date("t", mktime(0, 0, 0, getMonth($periode),
1, getYear($periode)));
$pas = 0;
$indexe = 1;
# Affichage du mois et de l'année
$leCalendrier .= "<h2>" . monthNumToName
(getMonth($periode)) . " " . getYear($periode) . "</h2>";
# Affichage des entêtes
$leCalendrier .= "
<ul id=\"libelle\">
\t<li>L</li>
\t<li>M</li>
\t<li>M</li>
\t<li>J</li>
\t<li>V</li>
\t<li>S</li>
\t<li>D</li>
</ul>";
# Tant que l'on n'a pas affecté tous les jours du mois traité
while ($pas < $nb_jour) {
if ($indexe == 1) $leCalendrier .=
"\n\t<ul class=\"ligne\">";
# Si le jour calendrier == jour de la semaine en cours
if (Date("w", mktime(0, 0, 0, getMonth($periode),
1 + $pas, getYear($periode))) == $tableau[$indexe]) {
# Si jour calendrier == aujourd'hui
$afficheJour = Date("j", mktime(0, 0, 0,
getMonth($periode), 1 + $pas, getYear($periode)));
if (Date("Y-m-d", mktime(0, 0, 0, getMonth($periode),
1 + $pas, getYear($periode))) == Date("Y-m-d")) {
$class = " class=\"itemCurrentItem\"";
}
else {
# 1 est toujours vrai => on affiche
# un lien à chaque fois
# A vous de faire les tests
# nécessaire si vous gérer un agenda par exemple
if (1) {
$class = " class=\"itemExistingItem\"";
$afficheJour = "<a href=\"\">" . Date("j",
mktime(0, 0, 0, getMonth($periode), 1 +
$pas, getYear($periode))) . "</a>";
}
else {
$class = "";
}
}
# Ajout de la case avec la date
$leCalendrier .= "\n\t\t<li$class>
$afficheJour</li>";
$pas++;
}
#
else {
# Ajout d'une case vide
$leCalendrier .= "\n\t\t<li> </li>";
}
if ($indexe == 7 && $pas < $nb_jour)
{ $leCalendrier
.= "\n\t</ul>"; $indexe = 1;} else {$indexe++;}
}
# Ajustement du tableau
for ($i = $indexe; $i <= 7; $i++) {
$leCalendrier .= "\n\t\t<li> </li>";
}
$leCalendrier .= "\n\t</ul>\n";
# Retour de la chaine contenant le Calendrier
return $leCalendrier;
}
?>
Je suis perdu à partir du moment où on me parle des variables $pas et $indexe.Je ne sais pas du tout qu'est-ce que c'est, à quoi elles servent et comment elles fonctionnent.
Je ne comprends donc pas non plus
1 + $pas un peu plus loin, ni
if(1){...} à nouveau un peu plus loin.Quant aux liens je ne sais pas non plus de quoi il s'agit:
# un lien à chaque fois
# A vous de faire les tests
# nécessaire si vous gérer un agenda par exemple
Si quelqu'un peut m'éclairer sur ces points ça m'avancerait beaucoup.Le reste m'a l'air assez facile à comprendre,
mais pour ce qui est des points évoqués je ne comprends rien du tout.
<style type="text/css">
calendrier.css?201208241130"css">#calendrier li{ list-style: none; } #libelle { width: 210px; margin: 0 auto; padding: 0; } .ligne { width: 210px; margin: 0 auto; padding: 0; } #libelle li { float : left; width : 30px; } .ligne li { color: #000000; float : left; width : 30px; } .ligne li a:hover{ list-style: none; text-decoration: none; } li.itemCurrentItem { color: #FF0000;/* A vous de configurer l'apparence de la date du jour */ } li.itemSelectedItem { color: #093;/* A vous de configurer l'apparence du jour sélectionné */ }
</style>
