我在 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); ?>]
}
关于javascript - 如何使用 PHP 在 JavaScript (Highcharts) 中设置值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36611766/