你能帮忙吗?下面是用于获取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

09-25 16:31
查看更多