在 PHP 中还有其他方法可以将数组存储在变量中吗?

问题描述 投票:0回答:1

我做了一个 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>
php arrays variables undefined
1个回答
0
投票

我必须在使用它之前将变量 $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>
© www.soinside.com 2019 - 2024. All rights reserved.