Felix Riesterer: Mysql: Tage zwischen 2 Datumsangaben auflisten

Beitrag lesen

Lieber Rolf,

Du solltest aber nicht, wie Felix im Testbeispiel, einen numerischen Index verwenden, sondern das Datum als String formatieren und dies als Index verwenden.

das Ergebnis der Datenbankabfrage hat in aller Regel numerische Indices - je nachdem wie Deine Abfrage-Logik arbeitet. Das ist im Grunde auch egal. Das Iterieren geht in allen Fällen gleichermaßen gut.

Das macht es mühsamer, weil Du dann mit jedem Tag im SQL Ergebnis herumsuchen musst.

Dazu gibt es einen passenden Schlüssel Tag (Spaltenname). Wo ist das "mühsam"?

Wie du das Date aus der Query korrekt in einen String übersetzt, musst Du Dir heraussuchen, das habe ich gerade nicht im Kopf.

Er verwendet nicht Date, sondern DateTime. Da stehen Uhrzeiten mit dran. Daher verwende ich ja auch strtotime(), um einen UNIX-Timestamp daraus zu erzeugen, mit dem man dann wieder besser rechnen kann.

Dann kannst Du analog zu Felix' Schleife über den Zeitraum laufen, pro Tag ins Array gucken wieviele Einträge vermerkt sind, und das ausgeben.

Zugegeben. Die Zählung würde in Deinem Beispiel von der Datenbank geleistet, in meinem Beispiel von meiner PHP-Logik.

In meinem Beispiel verwende ich gleich das dd-mm-yyyy Format, das macht es lesbarer.

Lesbarer? Diese Transformation empfinde ich als sehr störend, da sie dann nicht mehr universell, sondern auf eine bestimmte "Locale" bezogen gilt. Das empfinde ich als "unsauberes Programmieren". Lieber ist mir eine Vorgehensweise, die erst bei der Ausgabe das Datumsformat überhaupt "lesbarer" macht. Für interne Berechnungen will ich YYYY-MM-DD, und zwar unter allen Umständen!

Liebe Grüße,

Felix Riesterer.