Hi!
Ja, das mit den Links und so ein Kram ist Feinarbeit.
Ich habe meinen Kalender so aufgebaut, dass es insgesamt 42 Fächer für die Tage gibt. 7 Spalten (Montag bis Sonntag) und 6 Zeilen. (So bleibt der Kalender immer in einer Größe, weil er ein festes Raster hat.)
Wie gerhard gesagt hat, kann man mit $erster=date("w",$datum) den ersten Tag des Monats finden. Der wird als Zahl von 0 - 6 sein.
Bis zu diesem Wert wird die Spalte mit irgendwelchen Buchstaben gefüllt. (Das können auch die letzten Tage des Vormonats sein.)
Dann werden die Fächer weiter gefüllt, bis die Tage des Monats abgehakt sind.
Die restlichen Fächer einfach wieder weiter füllen. (Können die Anfangstage des nächsten Monats sein.)
Das Füllen geht mit Schleifen. Zeilenumbrüche in der Tabelle in diesem Fall mit
PHP-Code:
if ( ($i % 7) == 0 ){echo "<tr>";}
oder am Ende mit
PHP-Code:
if ( (($i+1) % 7) == 0 ){echo "</tr>";}
, falls die Zählung mit $i = 0 beginnt.
Ich hoffe, du hast in etwa verstanden, wie ich das meine. :)