我使用以下代码从数据库中提取的数据创建饼图:
<script type="text/javascript">
google.charts.load("current", {packages:["corechart"]});
google.charts.setOnLoadCallback(drawChart);
function drawChart() {
var col=<?php echo json_encode($aColumn); ?>;
var jsonString = <?php echo json_encode($v); ?>; //Access PHP variable in JavaScript JSON STRING
var jsonArray=JSON.parse(jsonString);
var options = {
pieHole: 0.5,
pieSliceTextStyle: {
color: 'black',
},
legend: 'none'
};
var testArray = [[col,"COUNT"]];
$.each(jsonArray, function() {
var item = [this[col],this.TOTAL]; //document.write(item);
testArray.push(item);
});
var data = google.visualization.arrayToDataTable([testArray]);
var chart = new google.visualization.PieChart(document.getElementById('donut'));
chart.draw(data, options);
}
</script>
当我尝试在谷歌可视化折线图中绘制这些数据时,图表是空的。只是页面上没有打印任何数据。
这是我第一次在PHP上工作,所以我可能错过了一些非常明显的东西。不过,任何帮助将不胜感激。
你有两种方法。
1 - 在你的代码中,第 7 行"var jsonString"已经是一个对象/数组,所以你不需要第 8 行,因为如果你不使用引号,Javascript 将理解为对象/数组,只是不需要进行解析。因此,您的输出将是这样的:
var jsonString = [...];
2 - 现在,要 Javascript 理解字符串,您需要在第 7 行加上引号,如下所示:
var jsonString = "<?php echo json_encode($v); ?>";
输出应该是这样的:
var jsonString = "[...]";
在第二种情况下,您需要解析。