Ich brauche das für Diagrammzwecke. Grundsätzlich muss ich:Gibt es eine Möglichkeit, "falsche" Zeilen in der MySQL-Ergebnismenge zu generieren?
- Wählen Sie alle gesendeten SMS nach Datum ohne Zeit Teil, erhalten ein Array mit Datumsangaben/zählt Paare Tag für Tag;
- Fügen Sie "falsche" Zeilen für Tage ohne Datensatz in meiner Tabelle hinzu, die alle Daten "Lücken" mit Nullen füllt.
Ein Beispiel Ergebnis und entsprechende Tabelle (hier vereinfacht) wäre:
array(
'2012-05-26 00:00:00' => 1,
'2012-05-27 00:00:00' => 0, // Fake added row
'2012-05-28 00:00:00' => 2,
)
+----------------+----------------------+
| Table SMS | id | sent_at |
+----------------+----------------------+
| | 1 | 2012-05-26 21:58:41 |
+----------------+----------------------+
| | 2 | 2012-05-28 22:19:21 |
+----------------+----------------------+
| | 3 | 2012-05-28 02:19:21 |
+----------------+----------------------+
Gibt es einen SQL-Befehl, dies zu tun oder sollte ich mit PHP Arrays Sie spielen manuell?
Was wäre der Grund dafür? –
@ColeJohnson In einigen Diagrammbibliotheken müssen Sie Zeitstempel (x-Achse) und Werte (y-Achse) angeben, um z. B. ein Liniendiagramm zu erhalten. Da ich nur gesendete SMS speichere, muss ich Datenlücken füllen. – gremo
was ich dafür tun, ist in der While-Schleife, die das Array erstellt, überprüfen Sie das Datum ist der nächste aus einem Array von Datumsbereichen, und fügen Sie wie erforderlich. –