File "tableau_06.php"

Full Path: /home/analogde/www/Massage_v3_debug/New folder/tableau_06.php
File size: 2.5 KB
MIME-type: text/x-php
Charset: utf-8

<?php
// Liste des jours de la semaine (sans le samedi et le dimanche)
$jours_semaine = ["L", "M", "M", "J", "V"];

// Initialiser la date de début de l'année 2025
$date_debut = new DateTime('2025-01-01');

// Tableau pour stocker les jours
$jours = [];

for ($i = 0; $i < 365; $i++) {
    $jour_semaine = $date_debut->format('w'); // Récupérer le jour de la semaine
    if ($jour_semaine >= 1 && $jour_semaine <= 5) { // Lundi à Vendredi
        $jours[] = $date_debut->format('j'); // Ajouter le jour du mois
    }
    $date_debut->modify('+1 day'); // Passer au jour suivant
}

// Calculer le jour de la semaine du 1er janvier 2025
$debut_semaine = (new DateTime('2025-01-01'))->format('w'); // Jour de la semaine du 1er janvier

// Initialiser un tableau pour les jours à afficher dans le tableau HTML
$tableau_jours = array_fill(0, $debut_semaine, ''); // Ajouter des cellules vides au début pour aligner

// Ajouter les jours de l'année 2025 dans le tableau
$tableau_jours = array_merge($tableau_jours, $jours);

// Calculer combien de lignes seront nécessaires pour afficher toutes les dates
$nombre_de_colonnes = count($tableau_jours);

// Ajouter des cellules vides à la fin si nécessaire pour que chaque ligne ait 5 cellules (Lundi à Vendredi)
while (count($tableau_jours) % 5 != 0) {
    $tableau_jours[] = ''; // Ajouter des cellules vides
}

?>

<!DOCTYPE html>
<html lang="fr">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Calendrier 2025</title>
    <style>
        table {
            width: 100%;
            border-collapse: collapse;
        }
        th, td {
            padding: 8px;
            text-align: center;
            border: 1px solid #000;
        }
    </style>
</head>
<body>
    <table>
        <!-- Première ligne avec les noms des jours -->
        <tr>
            <?php
            // Afficher les jours de la semaine, répétés jusqu'à ce qu'il y ait 365 colonnes
            for ($i = 0; $i < $nombre_de_colonnes; $i++) {
                echo "<th>" . $jours_semaine[$i % 5] . "</th>";
            }
            ?>
        </tr>
        <!-- Seconde ligne avec les dates -->
        <tr>
            <?php
            // Afficher les dates sur la deuxième ligne
            foreach ($tableau_jours as $jour) {
                echo "<td>" . ($jour === '' ? '' : $jour) . "</td>";
            }
            ?>
        </tr>
    </table>
</body>
</html>