j'ai récupéré le calendrier de Anne Pacalet
je voudrai comprendre comment passer les semaines du samedi au samedi
si qqun pourrait m'expliquer
<?php
function Calendrier($month,$year,$links) {
$MonthNames = array(1 => "Janvier","Fevrier","Mars","Avril","Mai","Juin",
"Juillet","Aout","Septembre","Octobre","Novembre","Decembre");
$monthname = $MonthNames[$month+0];
// on ouvre la table
echo '<table class="cal" cellspacing="1">';
// Première ligne = mois et année ou link[0]
$title = array_key_exists(0, $links) ? $links[0] : $monthname.' '.$year;
echo '<tr><td colspan="7" class="cal_titre">'.$title.'</td>'."</tr>\n";
// Seconde lignes = initiales des jours de la semaine
$DayNames = array("L","M","M","J","V","S","D");
echo '<tr>'; foreach ($DayNames as $d) echo '<th>'.$d.'</th>'; echo "</tr>\n";
// On regarde si aujourd'hui est dans ce mois pour mettre un style particulier
if ($year == date('Y') && $month == date('m'))
$today = date('d');
else
$today = 0;
$time = mktime(0,0,0,$month,1,$year); // timestamp du 1er du mois demandé
$days_in_month = date('t',$time); // nombre de jours dans le mois
$firstday = date('w',$time); // jour de la semaine du 1er du mois
if ($firstday == 0) $firstday = 7; // attention, en php, dimanche = 0
$daycode = 1; // ($daycode % 7) va nous indiquer le jour de la semaine.
// on commence par le lundi, c'est-à-dire 1.
// on ouvre une première ligne pour le calendrier proprement dit :
echo '<tr>';
// on met des cases blanches jusqu'à la veille du 1er du mois :
for ( ; $daycode<$firstday; $daycode++) echo '<td> </td>';
// boucle sur tous les jours du mois :
for ($numday = 1; $numday <= $days_in_month; $numday++, $daycode++) {
// si on en est au lundi (sauf le 1er),
// on ferme la ligne précédente et on en ouvre une nouvelle
if ($daycode%7 == 1 && $numday != 1) echo "</tr>\n".'<tr>';
// on ouvre la case (avec un style particulier s'il s'agit d'aujourd'hui)
echo ($numday == $today ? '<td class="today">' : '<td>');
// on affiche le numéro du jour ou le contenu donné par l'utilisateur
echo (array_key_exists($numday, $links) ? $links[$numday] : $numday);
// on ferme la case
echo '</td>';
}
// on met des cases blanches pour completer la dernière semaine si besoin :
for ( ; $daycode%7 != 1; $daycode++) echo '<td> </td>';
// on ferme la dernière ligne, et la table.
echo '</tr>'; echo "</table>\n\n";
}
?>