一周中有多少人正在注册 [英] How many people are registering in the day of the week

查看:57
本文介绍了一周中有多少人正在注册的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您好我想使用chatjs为我的项目制作图表。我有一个用户表,当用户注册我的网站时,注册的时间是日期时间格式,如 2018-03-02 10:35:25 。我希望通过此聊天来实现



我需要编写一个PHP代码来显示图形,喜欢:

  $ months = array(星期日,星期一,星期二,星期三,星期四 , 星期五星期六); 
$ monthvalues = array();
foreach($ month作为$ month){
$ monthvalues [$ month] = 0;
}


$ result = mysqli_query($ db,SELECT registerTime,count(*)FROM users group by WEEKDAY(registerTime))或die(mysql_error($ db) ));
while($ row = mysqli_fetch_array($ result,MYSQL_NUM)){
$ monthvalues [$ row [0]] =(int)$ row [1];
}

我正在打印它

  //数据
var data = {
labels:<?= json_encode($ months);?>,
数据集:[{
label:我的第二个数据集,
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:<?= json_encode(array_values($ monthvalues));?>
}]
};

上面的查询只给我一个日志报告。我不能在图表上显示它。我需要一个我可以每周反映的输出。



问题是,我无法弄清楚如何用代码做图表。有人可以通过举例来帮助我吗?



结果应该是数据:[28,48,40,19,86 ,27,90] 喜欢这个



january = 28,2月= 48,...

解决方案

如果你想返回一个数组,你应该使用GROUP BY,就像这样

  SELECT COUNT(registerTime)as`count` FROM users WHERE DATE(registerTime)= CURDATE()GROUP BY MONTH(registerTime)

您可以在输出中添加月份编号以创建标签

  SELECT COUNT( registerTime)为`count`,MONTH(registerTime)为`month` FROM users WHERE DATE(registerTime)= CURDATE()GROUP BY MONTH(registerTime)


Hi i want to make a chart for my project using chatjs. I have a users table and when user registered my site the registered time is datetime format like this 2018-03-02 10:35:25 . I want to make it with this chat DEMO

I need to write a php code to reveal the graph, like:

$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];
}

and i am printing it like this

// Data
var data = {
  labels: <?=json_encode($months);?>,
  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: <?=json_encode(array_values($monthvalues));?>
  }]
};

The query above gives me just one log report. I can not show it on the chart. I need an output that I can reflect on a weekly basis.

The problem is, I can not figure out how to do graphs with code. Could someone help me by giving an example in this matter please ?

the result should be data: [28, 48, 40, 19, 86, 27, 90] like this

january = 28, february = 48 , ...

解决方案

If you want to return an array, you should use a GROUP BY, like this

SELECT COUNT(registerTime) as `count` FROM users WHERE DATE(registerTime) = CURDATE() GROUP BY MONTH(registerTime)

And you can add a month number in output to create labels

SELECT COUNT(registerTime) as `count`,MONTH(registerTime) as `month` FROM users WHERE DATE(registerTime) = CURDATE() GROUP BY MONTH(registerTime)

这篇关于一周中有多少人正在注册的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆