【发布时间】:2018-09-20 18:58:12
【问题描述】:
我正在尝试使用数据库中的值制作一个浮动图表。我现在如何拥有它,该图表仅绘制 1 个数据点。我怎样才能让它绘制数组中的其余数据?我正在尝试绘制每个日期输入的代理总数。 var data2 将用于丢失的代理
<?php
foreach($mysqli->query('SELECT COUNT(*), agent_date_entered, agent_id
FROM agents GROUP BY agent_date_entered
ORDER BY agent_date_entered') as $row) {
$count[] = $row['COUNT(*)'];
$agent[] = $row['agent_id'];
$date[] = $row['agent_date_entered'];
}
?>
<script>
var data, data1, options, chart;
var data1 = [ <?php echo json_encode($count); ? > , < ? php echo json_encode($date); ?> ];
var data2 = [];
data = [{
data: data1,
label: "Agents Gained",
lines: {
show: true
},
points: {
show: true
}
}, {
data: data2,
label: "Agents Lost",
lines: {
show: true
},
points: {
show: true
}
}];
options = {
legend: {
position: "nw"
}
};
$(document).ready(function () {
chart = $.plot($("#placeholder"), data, options);
});
</script>
【问题讨论】:
-
在数据库中执行查询是否返回正确的结果?
-
是的。
print_r ($count);也显示正确的结果 -
好的,这听起来像是 JS/flot 问题,而不是 mysql 或 PHP 问题。
-
$count和$date是什么类型?该代码看起来只有一个计数日期对,它只会给出一个数据点。对于更大的图表,您需要一个日期计数对数组。 -
$count 是每个 $date 的记录总数。我不确定我是否正确地这样做了,但是当我 print_r ($count);它确实给了我预期的结果数量。我在数据库中有一些示例数据,它为 print_r ($count); 提供了数组 ( [0] => 1 [1] => 1 )。如果我更改日期,它只会检索一个结果。当我做 echo json_encode($count);回声 json_encode($date);它输出 ["1","1"]["2018-08-01","2018-09-03"]。
标签: javascript php mysql flot