Sprint
Erfahrenes Mitglied
Hallo zusammen,
beim Erstellen einer Statistik ist mir heute aufgefallen, daß strtotime() manchmal falsch rechnet. Und zwar soll über einen gewissen Zeitraum der jeweils auftragsstärkste Tag eines Monats ausgegeben werden. Die gekürzte Schleife dazu sieht so aus:
Dabei ist mir aufgefallen, daß der Februar manchmal erscheint und manchmal nicht. Wenn ich mir die Werte mit dem echo ausgeben lasse, sieht das heute z.B. so aus:
5 - 11.2012 - 2012-11 - 11
4 - 12.2012 - 2012-12 - 13
3 - 01.2013 - 2013-01 - 15
2 - 03.2013 - 2013-03 - 17
1 - 03.2013 - 2013-03 - 17
0 - 04.2013 - 2013-04 - 19
Wie ihr seht, wird der Februar ausgelassen und dafür der März zwei Mal verarbeitet. An anderen Tagen ist der Februar dann wieder da. Ich kann mir bloß nicht erklären, wieso!?
Die auskommentierten Zeilen waren der erste Ansatz. Ich habe dann extra jede Rechnung auf den Monatsersten gesetzt, bringt aber auch nichts.
Hat jemand von euch eine Erklärung dafür und vielleicht sogar eine Lösung?
Danke schonmal,
Sprint
beim Erstellen einer Statistik ist mir heute aufgefallen, daß strtotime() manchmal falsch rechnet. Und zwar soll über einen gewissen Zeitraum der jeweils auftragsstärkste Tag eines Monats ausgegeben werden. Die gekürzte Schleife dazu sieht so aus:
PHP:
for ($i=27;$i>=0;$i--){
$statmonat = substr(date("01.m.Y",strtotime("-$i month")),3); // Anzeige in der Grafik
$dbmonat = substr(date('Y-m-01',strtotime("-$i month")),0,7);
// $statmonat = date("m.Y",strtotime("-$i month"));
// $dbmonat = date('Y-m',strtotime("-$i month"));
$sql="SELECT COUNT(*) as anzahl FROM pruefung where SUBSTR(zeit,1,7) = '$dbmonat' GROUP BY SUBSTR(zeit,1,10) order by anzahl desc;";
echo $i.' - '.$statmonat.' - '.$dbmonat.' - '.$zeile['anzahl'].'<br />';
}
5 - 11.2012 - 2012-11 - 11
4 - 12.2012 - 2012-12 - 13
3 - 01.2013 - 2013-01 - 15
2 - 03.2013 - 2013-03 - 17
1 - 03.2013 - 2013-03 - 17
0 - 04.2013 - 2013-04 - 19
Wie ihr seht, wird der Februar ausgelassen und dafür der März zwei Mal verarbeitet. An anderen Tagen ist der Februar dann wieder da. Ich kann mir bloß nicht erklären, wieso!?
Die auskommentierten Zeilen waren der erste Ansatz. Ich habe dann extra jede Rechnung auf den Monatsersten gesetzt, bringt aber auch nichts.
Hat jemand von euch eine Erklärung dafür und vielleicht sogar eine Lösung?
Danke schonmal,
Sprint