Ich brauche Hilfe beim Extrahieren von Daten aus einer Tabelle in Json. Ich muss die Daten abfragen und alle Datensätze für das aktuelle Jahr, das die WHERE-Anweisung erfüllt, zurückgeben und gleichzeitig die Ergebnisse nach MONTH gruppieren.Daten abfragen und als JSON-String zurückgeben
Was ich als die Abfrage haben, ist:
$query_Promoter = "
SELECT COUNT(RecordID) AS Score4, FeedBackDate
FROM ".$FeedBack."
WHERE FeedBackDate >= DATE_SUB(NOW(),INTERVAL 1 YEAR)
AND A = 4
OR B = 4
OR C = 4
OR D = 4
OR E = 4
OR F = 4
OR G = 4
OR H = 4
OR L = 4
OR M = 4
OR N = 4
GROUP BY MONTH(FeedBackDate)";
$Promoter =$conn->query($query_Promoter);
$totalRows_Promoter = mysqli_num_rows($Promoter);
ich dann Schleife durch das Ergebnis wie:
if($totalRows_Promoter > 0) {
$rows_Promoter = array();
$rows_Promoter ['name'] = 'Promoters';
while($row_Promoter = mysqli_fetch_array($Promoter)) {
$rows_Promoter['Month'][] = date("M", strtotime($row_Promoter['FeedBackDate']));
$rows_Promoter['data'][] = $row_Promoter['Score4'];
}
}
$result = array();
if($totalRows_Promoter > 0) {
array_push($result,$rows_Promoter);
}
print json_encode($result, JSON_NUMERIC_CHECK);
// The resulting JSON is:
[{"name":"Promoters","Month":["Jan","Jan","Jan","Jan"],"data":[3,10,17,1]}]
Ich versuche, das Ergebnis zu erhalten:
[{"name":"Promoters","Month":["Jan","Feb","May","Jun"],"data":[3,10,17,1]}]
Kann jemand sehen, was ich falsch mache, oder gehe ich das falsch an?
Vielen Dank im Voraus für Ihre Zeit.
Bitte versuchen Sie "Y" vor dem "M" in Ihrem Datum ("M") Konvertierung (die StrTotime Linie), mal sehen, was wir von MySQL als FeedBackDate bekommen haben. Ich vermute, es ist etwas, das nicht von strtotime geparst werden kann (also gibt es null zurück und du bekommst den Monat von Epoch) also lass uns sehen ob du 1970 Jan bekommst oder was ... – dkellner
@dkellner das ist das JSON durch entfernen (Datum ("M", strtotime .......)), [{"name": "Promotoren", "Monat": ["2017-01-29", "2017-02-27", "2017- 05-30 "," 2017-06-04 "]," Daten ": [3,10,17,1]}] – DCJones
Das ist verrückt. Es sollte total funktionieren. – dkellner