我做了一个 while 循环并将结果保存在一个数组中以在下一行调用,但我不断收到错误消息,提示未定义变量
我尝试了不同的错误处理技巧,甚至在使用之前先声明变量,但仍然没有解决问题。
$querychart = mysqli_query($conn, "SELECT sum(rating_num) y,full_name label FROM sys_rating join sys_task on task=task_id join sys_users on assigned_to=id WHERE rating_date BETWEEN CURRENT_DATE() AND DATE_ADD(CURRENT_DATE(), INTERVAL 30 DAY) GROUP BY full_name LIMIT 1") or die(mysqli_error($conn));
while($rowchart = mysqli_fetch_array($querychart)){
$r[]=$rowchart;
}
$dataPoints = $r;
?>
<!DOCTYPE HTML>
<html>
<head>
<script>
window.onload = function() {
var chart = new CanvasJS.Chart("chartContainer", {
animationEnabled: true,
theme: "light2",
title: {
text: "Ratings/Month"
},
axisY: {
title: "Ratings (in points)"
},
data: [{
type: "column",
yValueFormatString: "#,##0.## POINTS",
dataPoints: <?php echo json_encode($dataPoints, JSON_NUMERIC_CHECK); ?>
}]
});
chart.render();
}
</script>
</head>
我必须在使用它之前将变量 $r 保存在一个数组中 $r = array();但它返回一个空字段。
$querychart = mysqli_query($conn, "SELECT sum(rating_num) y,full_name label FROM sys_rating join sys_task on task=task_id join sys_users on assigned_to=id WHERE rating_date BETWEEN CURRENT_DATE() AND DATE_ADD(CURRENT_DATE(), INTERVAL 30 DAY) GROUP BY full_name LIMIT 1") or die(mysqli_error($conn));
$r = array();
while($rowchart = mysqli_fetch_array($querychart)){
$r[]=$rowchart;
}
$dataPoints = $r;
?>
<!DOCTYPE HTML>
<html>
<head>
<script>
window.onload = function() {
var chart = new CanvasJS.Chart("chartContainer", {
animationEnabled: true,
theme: "light2",
title: {
text: "Ratings/Month"
},
axisY: {
title: "Ratings (in points)"
},
data: [{
type: "column",
yValueFormatString: "#,##0.## POINTS",
dataPoints: <?php echo json_encode($dataPoints, JSON_NUMERIC_CHECK); ?>
}]
});
chart.render();
}
</script>
</head>