一周中有多少人在注册
嗨,我想用chatjs为我的项目制作一个图表。 我有一个用户表,当用户注册我的网站时,注册的时间是日期时间格式,如2018-03-02 10:35:25
。 我想用这个聊天DEMO来做到这一点
我需要编写一个PHP代码来显示图形,如:
$months = array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"); $monthvalues = array(); foreach ($months as $month) { $monthvalues[$month] = 0; } $result = mysqli_query($db,"SELECT registerTime, count(*) FROM users group by WEEKDAY(registerTime)") or die(mysql_error($db)); while ($row = mysqli_fetch_array($result, MYSQL_NUM)) { $monthvalues[$row[0]] = (int)$row[1]; }
我正在打印它
// Data var data = { labels: , datasets: [{ label: "My Second dataset", fillColor: "rgba(151,187,205,0.2)", strokeColor: "rgba(151,187,205,1)", pointColor: "rgba(151,187,205,1)", pointStrokeColor: "#fff", pointHighlightFill: "#fff", pointHighlightStroke: "rgba(151,187,205,1)", data: }] };
上面的查询只给我一个日志报告。 我不能在图表上显示它。 我需要一个可以每周反映的输出。
问题是,我无法弄清楚如何用代码做图表。 有人可以通过举个例子来帮助我吗?
结果应该是data: [28, 48, 40, 19, 86, 27, 90]
1月28日,2月= 48,…
如果要返回数组,则应使用GROUP BY,如下所示
SELECT COUNT(registerTime) as `count` FROM users WHERE DATE(registerTime) = CURDATE() GROUP BY MONTH(registerTime)
您可以在输出中添加月份编号以创建标签
SELECT COUNT(registerTime) as `count`,MONTH(registerTime) as `month` FROM users WHERE DATE(registerTime) = CURDATE() GROUP BY MONTH(registerTime)