Ich bekomme Probleme mit der Analyse der Ausgabe von MySQL-Abfrage, um Highcharts zu füttern. Das größte Problem ist, dass ich mehr als 100 Datenreihen hawe, und ich möchte nicht zu jedem Spaltennamen in der Parsing-Prozess, jetzt die gewünschte Ausgabe so etwas wäre beziehen tun:Analysieren der MySQL-Ausgabe zu JSON Extrahieren von Feldnamen
[
{'name':'TS','data':[4349,4375]}
{'name':'time1','data':[503,573]}
{'name':'time2','data':[500,506]}
{'name':'time3','data':[508,649]}
]
Aber ich sind mit diesem Ausgang steckt, in dem alle Daten in der nur die ersten Array gedruckt:
[
{'name':'TS','data':[4349,503,573,500,4375,506,508,649,]}
{'name':'time1','data':[]}
{'name':'time2','data':[]}
{'name':'time3','data':[]}
]
der PHP-Code, den ich verwende ist die folgende:
<?php
try {
$con= new PDO('mysql:host=localhost;dbname=test', "root", "");
$con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$query = "SELECT TIME_TO_SEC(TS) as TS, TIME_TO_SEC(time1) as time1, TIME_TO_SEC(time2) as time2, TIME_TO_SEC(time3) as time3 FROM time ORDER BY TS";
//first pass just gets the column names
print "[";
$result = $con->query($query);
//return only the first row (we only need field names)
$row = $result->fetch(PDO::FETCH_ASSOC);
//second query gets the data
$data = $con->query($query);
$data->setFetchMode(PDO::FETCH_ASSOC);
foreach ($row as $field => $value){
print "{'name':'$field','data':[";
foreach($data as $row){
foreach ($row as $name=>$value){
print " $value,";
}
}
print "]}";
}
print "]";
}
catch(PDOException $e) {
echo 'ERROR: ' . $e->getMessage();
}
?>
irgendein Vorschlag, wie zur löse das Problem?
Sie verwenden '$ row' innerhalb der' foreach', die darüber iteriert – Ahmad
Und wie kann ich durch die Spalten iterieren? Da der FETCH_ASSOC nur auf die Zeilen – drypatrick