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",
...