Schleifen – die besten Beiträge

Wie erstelle ich mit PHP das durchzählen der Tage in einem Monatskalender richtig?

Hallo,

ich übe PHP und erstelle gerade einen Monatskalender in einer Tabelle. In meinem Code habe ich irgendwo einen Logikfehler. Zum Beispiel beginnt der Monat Februar in diesem Jahr an einem Donnerstag. Der Kalender erzeugt korrekt 3 leere Zellen für Mo, Di und Mi. Am Donnerstag beginnt die Zählung der Tage aber nicht mit 1 sondern mit 4. Wie erreiche ich, dass die Zähluing der Tage erst nach erzeugen der leeren Zellen am Monatsanfang beginnt. Es wäre nett wenn sich das mal jemand ansieht und mir auch die Logik erklärt, damit ich das Ganze verstehe.

Vielen Dank für's Lesen

Hier ist der Code:

<?php
       $gesamt_tage = date("t");
       $einzel_tage = 1;
       $akt_tag = date("j");

       $leer_zellen = date("N", strtotime(date("Y-m-01"))) - 1;


    ?>

    <table border="1" cellpadding="1" cellspacing="1" summary="">
       <thead>
           <tr>
               <th>Mo</th>
               <th>Di</th>
               <th>Mi</th>
               <th>Do</th>
               <th>Fr</th>
               <th>Sa</th>
               <th>So</th>
           </tr>
       </thead>

       <?php

           for($tr = 1; $tr <= 5; $tr++) {
               echo "<tr>";

                   for($td = 1; $td <= 7; $td++) {
                       if($einzel_tage <= $leer_zellen) {
                           echo "<td>&nbsp;</td>";
                           $einzel_tage++;
                       } else {
                           echo "<td>";
                           if($einzel_tage <= $gesamt_tage) {     
                               echo $einzel_tage++;

                           }
                       echo "</td>\n";
                       }
                   }


               echo "</tr>\n";
           }



        ?>


</table>
Schleifen, PHP

Meistgelesene Beiträge zum Thema Schleifen