I want to visualise my data with Google Column Chart. But I can't get appropriate data structure from MySql.
My current query results in:
array(6){
[0]=> array(3){["id"]=>"1" ["count"]=>"6" ["day"]=>"15-01-01"}
[1]=> array(3){["id"]=>"2" ["count"]=>"3" ["day"]=>"15-01-01" }
[2]=> array(3){["id"]=>"3" ["count"]=>"1" ["day"]=>"15-01-01" }
[3]=> array(3){["id"]=>"1" ["count"]=>"6" ["day"]=>"15-01-02" }
[4]=> array(3){["id"]=>"2" ["count"]=>"4" ["day"]=>"15-01-02" }
[5]=> array(3){["id"]=>"3" ["count"]=>"6" ["day"]=>"15-01-02" }
}
While Google Charts requires following format:
var data = google.visualization.arrayToDataTable([
['Date', '15-01-01', '15-01-02', { role: 'annotation' } ],
['1', 6, 6,],
['2', 3, 4,],
['3', 1, 6,],
]);
How can I transform my data to appropriate format?
UPDATE
I tried this:
$dateArray= array();
$output= "var data = google.visualization.arrayToDataTable([";
$output .= "['Date',";
foreach($mySqlResult as $val) {
if ( in_array($val['day'], $dateArray) ) {
continue;
}
$dateArray[] = $val['day'];
$output .= "'".$val['day']."',";
}
$output .= " { role: 'annotation' } ],";
foreach($mySqlResult as $val) {
$output .= "['".$val['id']."',".$val['count']."],";
}
$output .= "]);";
And this gave me following result:
"var data = google.visualization.arrayToDataTable(
[['Date','15-01-01','15-01-02', { role: 'annotation' } ],
['1',6,],['2',3,],['3',1,],['1',6,],['2',4,],['3',6,],]);"
Still not what is required. How can create row for every id with all counts:
['1', 6, 6,],['2', 3, 4,],['3', 1, 6,],