Morris JS仅显示来自MySQL的最后数据

时间:2019-03-19 04:54:25

标签: php mysql mysqli charts morris.js

我正在尝试从莫里斯图表中的表动态获取数据。 但是问题是它只显示表中的Single数据,即Last数据。我正在计算每月数据。但是我得到的数据是上个月的数据

这是下面的PHP脚本:

<?php
$query = "SELECT tots.*, @var := @var + tots.`count`
FROM (
    SELECT
       YEAR(created_at) AS `year`,
       MONTHNAME(created_at) AS `month`,
       COUNT(*) AS `count`
       FROM users
       GROUP BY `year`, `month`
     ) AS tots, (SELECT @var := 0) AS inc" ;

$result = mysqli_query($conn, $query) ;

while($row = mysqli_fetch_array($result))
{

$chart_data = "{ month:'".$row["month"]."', count:".$row["count"]."}, ";
}
$chart_data = substr($chart_data, 0, -2) ;
?>

这是我的Morris JS脚本:

<script>
Morris.Line({
element : 'chart',
data:[<?php echo $chart_data; ?>],
xkey:'month',
ykeys:['count'],
labels:['count'],
hideHover:'auto',
});
</script>

我得到的结果是这个。 enter image description here  这不合适,我想每月按行:

1 个答案:

答案 0 :(得分:0)

标签似乎太长。您可以尝试使用较短的标签,例如Jan-19而不是January 2019