<?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 2025xxxx</title> <style> .cell-1 { width: 12px; } .cell-2 { width: 150px; } .cell-3, .cell-4, .cell-5, .cell-6, .cell-7 { width: 20px; } table { width: 100%; border-collapse: collapse; } th, td { padding: 8px; text-align: center; border: 1px solid #000; } th { background-color: #f2f2f2; } /* Largeur de la première colonne */ /*td:first-child, th:first-child { width: 225px; }*/ /* Largeur des autres cellules */ /*td, th { width: 20px; }*/ </style> </head> <body> <table> <!-- Première ligne avec les noms des jours --> <tr> <!-- La cellule "toto" dans la première colonne --> <th width="15px" >atoto</th> <?php // Afficher les jours de la semaine for ($i = 0; $i < $nombre_de_colonnes; $i++) { echo "<th>" . $jours_semaine[$i % 5] . "</th>"; } ?> </tr> <!-- Seconde ligne avec les dates --> <tr> <!-- Première cellule de la ligne --> <td></td> <?php // Afficher les dates sur la deuxième ligne foreach ($tableau_jours as $i => $jour) { echo "<td>" . ($jour === '' ? '' : $jour) . "</td>"; } ?> </tr> </table> <br> <bt> <table> <tr> <!-- La cellule "toto" dans la première colonne --> <td class="cell-1">Toto</td> <?php // Afficher les jours de la semaine for ($i = 0; $i < $nombre_de_colonnes; $i++) { //echo "<th>" . $jours_semaine[$i % 5] . "</th>"; ?> <td class="cell-4">F</td> <?php } ?> </tr> </table> <br> <bt> <table> <tr> <?php for ($i = 0; $i < 5; $i++) { if($i == 0) { ?> <td class="cell-1"> <?php echo $jours_semaine[$i % 5]; ?> </td> <?php } else { ?> <td class="cell-5"> <?php echo $jours_semaine[$i % 5]; ?> </td> <?php } } ?> </tr> </table> <br> <bt> <table> <tr> <td class="cell-1">C</td> <td class="cell-2">Cellule 2</td> <td class="cell-3">Cellule 3</td> <td class="cell-4">Cellule 4</td> <td class="cell-5">Cellule 5</td> <td class="cell-6">Cellule 6</td> <td class="cell-7">Cellule 7</td> </tr> </table> </body> </html>