[英]Count Number of users registered today and yesterday PHP
I want to echo number of users registered on my site's admin panel today[counting] and yesterday using PHP. 我想使用PHP回显今天和昨天在网站管理面板上注册的用户数。
I am saving their signup date in this format 我以这种格式保存他们的注册日期
2017-01-09 20:32:40
2017-01-09 20:32:40
After googling i found this 谷歌搜索后我发现了这个
$daterange = "24 HOUR";
$sql = "SELECT COUNT(*)
FROM ad_total_today
WHERE DATE_SUB(CURDATE(),INTERVAL $daterange)
<= FROM_UNIXTIME(date_time)";
$res = mysql_query($sql);
$today = mysql_result ($res, 0, 0);
But I cant seem to understand it.Can anyone help me echo Total number of users registered today and yesterday? 但是我似乎无法理解,有人可以帮助我回显今天和昨天注册的用户总数吗?
A solution is to use the MySQL function CURDATE()
, format your column to date-only with DATE()
(so we don't have to deal with hour/seconds/minutes). 一种解决方案是使用MySQL函数
CURDATE()
,用DATE()
将列的格式设置为仅DATE()
(因此,我们不必处理小时/秒/分钟)。 Then you select what's equal to today or yesterday. 然后,选择等于今天或昨天的值。 I've used the
SUBCAT()
function to subtract one day from CURDATE()
. 我已经使用
SUBCAT()
函数从CURDATE()
减去一天。
SELECT COUNT(*) as `count`
FROM ad_total_today
WHERE DATE(date_time) = CURDATE()
OR DATE(date_time) = SUBDATE(CURDATE(), 1)
Alternatively, you can use IN
instead of two conditions. 或者,您可以使用
IN
代替两个条件。
SELECT COUNT(*) as `count`
FROM ad_total_today
WHERE DATE(date_time) IN (CURDATE(), SUBDATE(CURDATE(), 1))
You should really stop using MySQL functions, they are old, deprecated, insecure and no longer maintained. 您应该真正停止使用MySQL函数,因为它们过时,过时,不安全并且不再维护。 Switch to either PDO or MySQLi - and don't forget to use parameterized queries with placeholders when dealing with variables in your query - this is the only way to protect your data from SQL injection.
切换到PDO或MySQLi-并且在处理查询中的变量时不要忘记使用带占位符的参数化查询-这是保护数据免受SQL注入的唯一方法。
Try Below Query 尝试以下查询
SELECT COUNT(*)
FROM ad_total_today
WHERE DATE_SUB IN (CURDATE(), CURDATE() + INTERVAL 1 DAY)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.