【发布时间】:2014-08-22 16:22:15
【问题描述】:
我正在尝试制作一个命中计数器,我想在 24 小时内收集总命中数。无论最终用户的时区如何,这 24 小时都应该是一个固定值。在 24 小时内,数据库应更新为 +1 命中计数,一旦达到 24 小时时间刻度,则应重置计时器。
这是我正在尝试的:
$timer = TIME_NOW - 60*60*24;
if ($timer < TIME_NOW)
$db->query("UPDATE settings SET value=value+1 WHERE name='hits_today'");
}
else
{
$db->query("UPDATE settings SET value=0 WHERE name='hits_today'");
}
这里TIME_NOW是一个常量,定义为time()
我在这个网站上搜索了很多,但我没有找到任何关于这个问题的答案,请帮忙,我该如何解决这个问题?
谢谢!
【问题讨论】:
-
TIME_NOW- 我认为您已经将其声明为常量? -
嗨 Fred,是的,你是对的。
-
既然你从
TIME_NOW中减去得到$timer,你怎么会期望它($timer)永远不会小于TIME_NOW? -
那句话是什么样子的?
-
还可以查看thetricky.net/php/Compare%20dates%20with%20PHP 和highlystructured.com/comparing_dates_php.html 可能有助于了解时差的工作原理。
标签: php mysql hitcounter