FrankieB: Kalender, aber wie ?

Beitrag lesen

Hallo Lisa,

auch wenn Du mich nur ironisch (sic!) liebst, gebe ich dir trotzdem noch ein paar kleine Optimierungstipps ,-)

<tr>
      <?
      for ($x = 1; $x <= 7; $x++){
       $wochentag = date("l", mktime(0, 0, 0, $Monat, $x, $Jahr));
       echo "<th>" . $wochentag . "</th>";

if ($x == 7){
         break;
       }
      }
      ?>
  </tr>

Das kostet Rechenzeit, da Du bei jedem Durchlauf date() und mktime() aufrufst. Da die Anzahl der Wochentage auf absehbare Zukunft wahrscheinlich konstant bleibt, schreibe besser:

<tr>
<?php
foreach ($wochentage as $v) {
  echo "<th>".$v."</th>";
}
?>
</tr>

$durch = 0;
  for ($i = 1 ; $i <= $anzTageProMonat ; $i++){

echo "<td>" . $i . "</td>\n";

^^^^
Mach hier mal die überflüssigen Leerzeichen weg

$durch++;

if ($durch == 7){

^^^^
Du wechselst die Zeile genau 1 Mal. Ok, weiter unten setzt Du den Wert zurück. Sehe daher meinen Lösungsvorschlag als Alternative an ;-)

if ($durch%7 == 0){
^^^^
Jetzt wechselst Du die Zeile jedes 7. Mal ohne $durch bei jedem Durchlauf erneut auf 0 zu setzen. Ob meine Variante schneller ist weiß ich nicht, eleganter ist sie aber wahrscheinlich schon.

echo "</tr>\n<tr>\n";
      $durch = 0;

^^^^
das Rücksetzen von $durch kannst Du dir jetzt sparen

}

Grüsse
Frankie