Hallo Barksalot,
Wenn ich meinen Code so umbaue wie du es beschrieben hast habe ich in jedem Monat die gleichen Wochennummern.
Dann verwendest Du bei der Generierung der Wochennummer vielleicht die falsche Datum?
Deinen Gesamtcode müsste ich mir erstmal genauer anschauen und dafür habe ich dieses Wochenende keine Zeit. Teile davon hab es ja früher schon zu sehen. Aber ganz ehrlich: der schreit ohnehin "bau mich um". 500 Zeilen Code am Stück sind ungenießbares Spaghetti. Den musst Du nach Aufgaben in Funktionen zerlegen. Insbesondere in die Bereiche Datenbeschaffung, Datenaufbereitung und HTML-Erzeugung. Die Datenbeschaffung holt die benötigten DB-Inhalte und erzeugt ein Fachmodell der Daten. Die Datenaufbereitung setzt das Fachmodell in ein Viewmodell um. Und die HTML Erzeugung übersetzt das Viewmodell in HTML. Mein nachträglich reineditierter $calendar_month oben ist so ein Viewmodell. Das kann man über assoziative Arrays lösen, oder mit PHP Klassen. Ganz nach Geschmack und Know-How.
Ggf. solltest Du auch die style-Attribute reduzieren und mehr auf CSS setzen. Ohne genaueres Hingucken kann ich das nicht sicher sagen.
Wenn man baut und baut, ohne innezuhalten, dann entstehen solche Monster bevor man es bemerkt. Aber wenn sie da sind, muss man sie zerteilen. UNBEDINGT. Diese Arbeit lohnt sich. Ich war in meinen 33 Jahren Entwicklerarbeit nämlich auch schon öfter an der Stelle, wo Du jetzt bist. Mit noch größeren Monstern. Und nachdem man sowas ein paar Monate liegen gelassen hat, und DANN wieder einsteigen muss, bemerkt man erst die diversen Abhängigkeiten, auf die man aufpassen muss und die danach trachten, einem links und rechts die Zehen von den Füßen zu schießen.
Rolf
sumpsi - posui - clusi