Schön guten Abend!
Ich hab mich da mal an ein Kalender gewagt, doch leider kam ich nicht zum richtigen Ergebnis.
Kurz: Alle Monate funktionieren einwandfrei, bis auf den Juni.
Beim Juni wird ein Tag zuviel in der ersten Spalte angezeigt, die verflixte 8!
Vielleicht könnt ihr ja mal reinschaun und gucken ob ihr den Fehler findet, ich verzweifle da langsam bei
Code:
<?php
//Kalenderblatt:
//Stunde Minute Sekunde Monat Tag Jahr:
if(empty($jahr)){$jahr = date("Y");}
if(empty($monat)){$monat = date("n");}
$zeitstempel = mktime(0,0,1,$monat,1,$jahr); //Test
//erster Tag der Woche (Monat):
$erster_wochentag = date("w",$zeitstempel);
$anzahl_tage_monat = date("t",$zeitstempel);
//Ausgabe:
echo "<table>\n";
//Kopfzeile Tabelle:
echo " <thead>\n";
echo " <tr>\n";
echo " <td>Mo</td>\n";
echo " <td>Di</td>\n";
echo " <td>Mi</td>\n";
echo " <td>Do</td>\n";
echo " <td>Fr</td>\n";
echo " <td>Sa</td>\n";
echo " <td>So</td>\n";
echo " </tr>\n";
echo " </thead>\n";
//Inhalt Tabelle:
echo " <tbody>\n";
echo " <tr>\n";
//Auffüllen der Tabelle:
for($i = 1; $i < $erster_wochentag; $i++){
echo " <td> </td>\n";
}
//Schleife:
$umbruch = $erster_wochentag;
for($i = 1; $i <= $anzahl_tage_monat; $i++){
echo " <td><a href=\"kalender_test.php?tag=".$i."&monat=".$monat."&jahr=".$jahr."\">".$i."</a></td>\n";
//Umbruch einfügen:
if($umbruch == 7){
echo " </tr>\n";
echo " <tr>\n";
$umbruch = 1;
}
else{
$umbruch = $umbruch+1;
}
}
//Auffüllen der Tabelle:
for($i = 0; $i < 8-$umbruch; $i++){
echo " <td> </td>\n";
}
echo " <tr>\n";
echo " </tbody>\n";
echo "</table>\n";
?>
Jetzt schonmal ein Dankeschön

Schön abend noch!
m.