gpt4 book ai didi

php - 检查它是否在 24 小时内发生

转载 作者:可可西里 更新时间:2023-11-01 07:59:35 25 4
gpt4 key购买 nike

假设我们让用户能够使用我们的网站发送电子邮件,但我们希望限制他们每天(24 小时)发送的电子邮件不超过 30 封。

因此,通过发送每封电子邮件,我们将在表中插入一条记录,然后当他/她想发送另一封时,我们检查他/她是否在 24 小时内发送了超过 30 封电子邮件。

我们如何用 PHP 检查这个?

我们查询数据库,我们得到了这个用户的20条记录,记录的日期是:

2012-08-14 13:10:58
2012-08-14 12:45:47
2012-08-14 16:32:18
2012-08-14 19:10:40
...
...
...

我们如何实现这样的规则?

谢谢

最佳答案

不要在 PHP 中检查它,使用像这样的简单查询立即从数据库中获取答案。

select 
count(*)
from
yourTableName
where
dateCol>date_sub(now(), interval 1 day)
and userID=...

这会给你计数。

编辑:正如鲍里斯指出的那样,这将按天计算,您可以将其更改为检查过去 24 小时,如下所示:

select 
count(*)
from
yourTableName
where
dateCol>date_sub(now(), interval 24 hour)
and userID=...

编辑 2:检查后,Riad 正确地指出,这两个实际上返回相同的值。 1 天 被视为恰好 1 天,而不是日历日期。如果日期列的日期时间为“2012-08-13: 13:00:00”,则 date_sub( dateCol, interval 1 day) 将返回“2012-08-12: 13:00: 00'。

关于php - 检查它是否在 24 小时内发生,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11949124/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com