如何使用PHP在JavaScript(Highcharts)中设置值


How to set values in JavaScript (Highcharts) using PHP

我在chart.js中有以下内容:

xAxis: {
    categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
        'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
},

我有一个名为monthly_flagged的表,它存储了每个月标记帖子的总数。我试图创建一个折线图来显示每个月标记帖子数量之间的波动。

使用PHP,我得到了以下数据:

$statement = mysqli_prepare ($connect, "SELECT * FROM monthly_flagged");
mysqli_stmt_execute($statement);
$get_data = mysqli_fetch_assoc ($statement);
    $month          = $get_data['month'];
    $year           = $get_data['year'];
    $total_flaggged = $get_data['total_flagged'];
mysqli_stmt_close($statement);

问题是,我不确定如何将这些数据应用于JS。假设我的monthly_flagged表有一行:

id:1
month: April
year: 2016
total_flagged:28

使用在$month$total_flagged中获得的数据,我想更新x轴上的Apr

目前,数据是这样显示的(使用测试编号):

series: [{
            name: 'Flagged posts',
            data: [7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6]
        } 

但我基本上需要它来做这样的事情:

series: [{
            name: 'Flagged posts',
            data: [$monthJan, $monthFeb, $monthApr, ...]
        }

但同样,不确定如何做到这一点。

尝试将数据存储在数组中

$statement = mysqli_prepare ($connect, "SELECT * FROM monthly_flagged");
mysqli_stmt_execute($statement);
$months = array();
$data = array();
$result = mysqli_stmt_get_result($statement);
while($get_data = mysqli_fetch_assoc ($result)){
    $months[]          = $get_data['month'];
    $data[]            = $get_data['total_flagged'];
}
mysqli_stmt_close($statement);

然后在您的javascript上:

xAxis: {
    categories: [<?php echo json_encode($months); ?>]
},

最后:

series: [{
            name: 'Flagged posts',
            data: [<?php echo json_encode($data); ?>]
        }