你能帮忙吗?下面是用于获取mysql数据并将其传递给google chart的脚本
$result = DB_query($sql, '', '', False, False);
$table = array();
$table['cols'] = array(
array('label' => 'col1', 'type' => 'string'),
array('label' => 'col2', 'type' => 'int')
);
$rows = array();
while($r = mysqli_fetch_assoc($result)) {
$temp = array();
// the following line will be used to slice the Pie chart
$temp[] = array('v' => (string) $r['col1']);
// Values of each slice
$temp[] = array('v' => (int) $r['col2']);
$rows[] = array('c' => $temp);
}
下面是js部分
echo
'
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load("visualization", "1", {"packages":["corechart"]});
google.setOnLoadCallback(drawChart);
function drawChart() {
var data = new google.visualization.DataTable(',$jsonTable,');
var options = {
title: "My Weekly Plan",
is3D: "true",
width: 800,
height: 600
};
var chart = new google.visualization.PieChart(document.getElementById("chart_div"));
chart.draw(data, options);
}
</script>
<div id="chart_div"></div>
';
这里的问题是,即使我在json变量中得到了正确的值,但在google chart中加载相同的值时,我得到的结果是错误的,因此图表不会显示出来。
"Uncaught Error: Invalid type, int, for column "col2".
at gvjs_R.gvjs_.Sda
你能帮助理解这个问题吗?
最佳答案
将'int'
更改为'number'
谷歌数据表的有效类型…
类型-具有列值的数据类型的字符串。类型可以是以下类型之一:“string”、“number”、“boolean”、“date”、“datetime”和“timeofday”
见DataTable addColumn