Php MySQL到JSON的结果是空的Google可视化图表(无数据)

Php MySQL到JSON的结果是空的Google可视化图表(无数据),php,jquery,json,Php,Jquery,Json,我使用以下代码从数据库中提取的数据创建饼图: <script type="text/javascript"> google.charts.load("current", {packages:["corechart"]}); google.charts.setOnLoadCallback(drawChart); function drawChart() { var col=<?php echo json_encode($aColumn); ?>;

我使用以下代码从数据库中提取的数据创建饼图:

<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>

load(“当前”{packages:[“corechart”]});
google.charts.setOnLoadCallback(drawChart);
函数绘图图(){
var col=;
var jsonString=;//访问JavaScript JSON字符串中的PHP变量
var jsonArray=JSON.parse(jsonString);
变量选项={
pieHole:0.5,
打印文本样式:{
颜色:'黑色',
},
图例:“无”
};
var testArray=[[col,“COUNT”];
$.each(jsonArray,function(){
var item=[this[col],this.TOTAL];//document.write(item);
试验推送(项目);
});
var data=google.visualization.arrayToDataTable([testArray]);
var chart=newgoogle.visualization.PieChart(document.getElementById('donut');
图表绘制(数据、选项);
}

当我试图在Google Visualization折线图中绘制这些数据时,该图是空的。只是页面上没有打印任何数据

这是我第一次使用PHP,所以我可能错过了一些非常明显的东西。任何帮助都将不胜感激。

你有两种方法

1-在您的代码中,第7行“var jsonString”已经是一个对象/数组,因此您不需要第8行,因为如果不使用引号,Javascript将理解为对象/数组,而不需要进行解析。因此,您的输出将如下所示:

var jsonString = [...];
var jsonString = "<?php echo json_encode($v); ?>";
2-现在,要理解字符串,需要在第7行加引号,如下所示:

var jsonString = [...];
var jsonString = "<?php echo json_encode($v); ?>";
在第二种情况下,您需要解析。

您有两种方法

1-在您的代码中,第7行“var jsonString”已经是一个对象/数组,因此您不需要第8行,因为如果不使用引号,Javascript将理解为对象/数组,而不需要进行解析。因此,您的输出将如下所示:

var jsonString = [...];
var jsonString = "<?php echo json_encode($v); ?>";
2-现在,要理解字符串,需要在第7行加引号,如下所示:

var jsonString = [...];
var jsonString = "<?php echo json_encode($v); ?>";

在第二种情况下,您需要解析。

我刚刚注释了第8行,并更改了我的代码
function drawChart(){
`//var jsonArray=JSON.parse(jsonString);`
var testArray=[[col,“COUNT”]];
$each(jsonString,function(){/code>
var item=[this[col],this.TOTAL]
testArray.push(item);
`});`仍然会出现相同的错误。您尝试使用标签查看PHP返回的内容?您得到了什么错误?是否在浏览器(F12)的javascript控制台检查了是否有错误?是
工作正常,以字符串形式返回所需的输出。google map div没有显示任何数据。控制台显示一些未捕获的TypeError:无法读取未定义错误的属性“appendChild”。我刚刚注释了第8行并更改了代码
函数drawChart(){
var-jsonString=;
`//var-jsonArray=JSON.parse(jsonString);`
var-testArray=[[col,“COUNT”];
testArray.push(item);
`?是
工作正常,以字符串形式返回所需的输出。google map div未显示任何数据。控制台显示一些未捕获的TypeError:无法读取未定义错误的属性“appendChild”。