Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在条形图上显示未定义_Php_Charts - Fatal编程技术网

Php 在条形图上显示未定义

Php 在条形图上显示未定义,php,charts,Php,Charts,你好。我遇到了一个我不知道如何解决的问题。首先,以下是我的代码: $(document).ready(function() { $.ajax({ url: "test.php", method: "GET", success: function(data) { console.log(data); var shclYear = []; var enrls = []; for(var i in data)

你好。我遇到了一个我不知道如何解决的问题。首先,以下是我的代码:

$(document).ready(function() {

$.ajax({
    url: "test.php",
    method: "GET",
    success: function(data) {
        console.log(data);
        var shclYear = [];
        var enrls = [];

        for(var i in data) {
            shclYear.push(data[i].schoolyear);
            enrls.push(data[i].enrollees);
        }

        var chartData = {
            labels: shclYear,
            datasets : [
                {
                    label : "School Year",
                    data : enrls
                }
            ]
        };

        var ctx = $('#myCanvas');

        var barGraph = new Chart(ctx, {
            type: 'bar',
            data: chartData

        });
    },
    error: function(data) {
        console.log(data);
    }
}); });
test.php以json_编码格式生成相同的数据:

[{学年:2010,入学人数:100},{学年:2011,入学人数:150},{学年:2012,入学人数:300},{学年:2013,入学人数:250}]

我想知道,在我的html中,它显示的是未定义的,未定义的。谁能解释一下原因吗。多谢各位

顺便说一下,这是我的php代码:`include'dbFunction.php'

$dbOperation = new dbFunctions();
$qryData = $dbOperation->selectQry('Select schoolyear, enrollees From testData');

$data = array();

//for ($x=0; $row=$qryData->fetch(); $x++) {
foreach ($qryData as $row) {
    # code...
//}
    $data[] = array_unique($row);

    //echo $data .'<br>';
}

echo json_encode($data);`
数据是数组[],不是对象{}

因此,不应用于。。在

相反,使用传统的for循环

for (var i = 0; i < data.length; i++) {
  shclYear.push(data[i].schoolyear);
  enrls.push(data[i].enrollees);
}
另外,可能希望在ajax调用中将类型设置为json

$.ajax({
  url: "test.php",
  method: "GET",
  dataType: "json",
  ...

发布test.php文件对不起,我已经用我的php文件更新了我的帖子。
$.ajax({
  url: "test.php",
  method: "GET",
  dataType: "json",
  ...