我正在尝试构建带注释的时间线(Google Chart API),我无法更正此问题。我收到错误"数据必须包含两列"。有没有人看到任何问题?
的Javascript
google.setOnLoadCallback(drawChart);
function drawChart() {
var data = new google.visualization.DataTable(<?php echo json_encode($data, JSON_NUMERIC_CHECK); ?>);
var options = {
title: ''
};
var chart = new google.visualization.AnnotatedTimeLine(document.getElementById('trend_div'));
chart.draw(data, {displayAnnotations: true});
}
然后我的PHP
$sth = mysqli_query($con,"SELECT COUNT( * ) AS callCount, CALLTIMEEST,TAKEN FROM DAYCALLS WHERE REGION = 1 GROUP BY CALLTIMEEST,TAKEN ");
$pieChartArray = "";
$data = array(
'cols' => array(
array('type' => 'date', 'label' => 'Call times'),
array('type' => 'number', 'label' => 'TAKEN')
),
'rows' => array()
);
while($r = mysqli_fetch_assoc($sth)) {
$callDate = strtotime($r['CALLTIMEEST']);
$year = (int) date("Y",$callDate);
$month = ((int) date("m",$callDate)) - 1; // convert months to javascript's 0-indexed months
$day = (int) date("d",$callDate);
$data['rows'][] = array('c' => array(
array('v' => "Date($year, $month, $day)"),
array('v' => $r['TAKEN'])
));
}