php - PHP、jQuery 和 Chartist.Js:将数据库中的实时数据显示到图表中
问题描述
我正在尝试制作一张图表,我可以在其中查看 24 小时内服务器的玩家数量。我希望图表显示从 00:00 到晚上 11:59,从 30 到 30 分钟。(00:30、1:00、1:30 等)
我用来将数组发送到 jQuery 的代码。
$json = array();
$stmt = $link->query("SELECT * FROM online WHERE time > $date");
$stmt->execute();
while($row = $stmt->fetch(PDO::FETCH_ASSOC)){
$row['time'] = date("H:i", $row['time']); //translate unix to human
array_push($json, array('labels' => $row['time'],
'series' => $row['players']
));
}
echo json_encode(array("json" => $json));
这是我用来显示图表的 jQuery
var url = "settings.php"
var resp = jQuery.parseJSON(
jQuery.ajax({
url: url,
async: false,
dataType: 'json'
}).responseText
);
var JSONObject = JSON.parse(resp);
var data = {"labels":JSONObject.labels, "series":[JSONObject.series]};
optionsPlayersOnline = {
lineSmooth: Chartist.Interpolation.cardinal({
tension: 0
}),
low: 0,
high: 50,
chartPadding: {
top: 0,
right: 0,
bottom: 0,
left: 0
},
}
var PlayersOnline = new Chartist.Line('.ct-chart', data, optionsPlayersOnline);
我的问题是我不知道如何使图表工作和显示。
解决方案
推荐阅读
- python - Vectorization & ValueError,但不是来自“or”和“and”运算符
- javascript - 在 axios 请求数组上使用 promise.all 将返回最后一个对象中的所有响应,而不是将它们分散开
- javascript - 反应日期选择器样式
- java - 当我们从 UDP 服务器接收数据包时,为什么我们必须在单独的线程中接收它们?
- mysql - 分组中两行之间的SQL差异
- unit-testing - .net Core 3.1 控制器级别的单元测试授权角色
- google-apps-script - 带有 Google App Script 的 Google Sheets:如何在返回最终结果之前向单元格写入“状态”消息?
- javascript - 你能定义 CSS 变换比例的最大宽度/高度吗?
- git - 如何在 Github 的一个分支上继续工作并进行新的 PR
- javascript - 提交在没有按钮的多个输入的表单中不起作用