Hallo Rolf,
ich würde definitiv die Rohdaten aus der DB holen und den Monatsbericht für einen Mitarbeiter per PHP in einem Request erzeugen.
Bedeutet aber, wenn der Benutzer nur den Monatsbericht bräuchte, müsste er dennoch erst alle Mitarbeiter durchrequesten.
Ich glaube nicht, dass Du durch komplexe Query etwas gewinnst. Nur Kopfschmerzen, und du wirst dein sechs Monate jüngeres Ich verfluchen, wenn Du den Kram später mal modifizieren musst.
Da hast Du sicher recht. Ich tendiere auch dazu, es in nachvollziehbare Schritte zu unterteilen.
Für den Gesamtmonatsbericht kommt's drauf an, wieviele Leute das sind. 10? 100? 1000? Bei bis zu 100 Leuten sollte sich das ein einem Request abfackeln lassen.
Es sind definitiv unter 20. Aber dieser Wert alleine ist/wäre auch nicht entscheidend. Es könnten ja auch sehr sehr viele Vorgänge mit kleinen Minutenwerten sein, um die es geht. (sind es aber nicht) 😉
Man kann da aber auch überlegen, das Script einmal als Batch laufen zu lassen und das Ergebnis als statische HTML Datei zu speichern.
Habe ich auch schon drüber nachgedacht. Auch darüber, nächtlich einen Cron drüber laufen hzu lassen, um mir die Daten für einen späteren Zeitpunkt komfortabel aufarbeiten zu lassen. Bin aber nicht sicher, dass das so schlau wäre, denn ich müsste ohnehin die aufgearbeiteten Daten, wenns drauf ankommt, mit dem Original vergleichen, da zwischen dem nächtlichen Cron und dem tatsächlichen Aufruf der aufbereiteten Daten ein Edit liegen könnte.
Deshalb überlege ich gerade, ob es sinnvoll ist, den ersten von 2 ohnehin nötigen Requests (1="gehe in Monatsauswertung", 2="Datum bzw. Monat vorwählen") mit etwas "Aufräumarbeit" zu belegen und den 2. Request dann für den dann etwas fixeren Datenaufruf zu nutzen, der dann ggf. auch alle Mitarbeiter in einem Zug zur Monatsauswertung schafft.
Jörg