使用PHP每天重置MySQL值

时间:2016-01-07 17:43:44

标签: php mysql

我正在尝试制作一个PHP点击计数器,以便将命中保存到MySQL中。如果我能以某种方式得到每天的计数,那将是最好的,但到目前为止,我还没有想到如何做到这一点,如果它太复杂。 所以,现在(除非有人在这里有解决方案^)我想每天在00:00重置MySQL中的“今日点击”。 我似乎找不到一种方法来安排这个每天00:00(格林威治标准时间0,英国时间)自动执行。

2 个答案:

答案 0 :(得分:3)

您有两种解决方案:

使用mysql的事件调度程序

CREATE EVENT 
ON SCHEDULE EVERY 1 DAY
STARTS '2015-01-07 00:00:00'
DO
[SQL for reset the value here];

其他解决方案是使用PHP脚本并使用cron执行它

#!/usr/bin/env php
<?php
[PHP script for reset the value here]

然后,将其添加到cron作业

 0 22 * * * /usr/bin/php -f /usr/local/bin/my-daily-script.php &> /dev/null

(您可以将其他小时值更改为22)

答案 1 :(得分:1)

Giancarlo回答你的问题绝对正确,
但我建议采用不同的方法:

对字段

进行“点击”表格
hitsDate (date) | hits (int)
----------------------------------
2015-01-06    | 329
2015-01-05    | 0

每次你想添加一个匹配(在登录时可能?或在会话开始时?)与当前日期相比:

Update hits_table set hits=hits+1 where hitsDate=curdate()

如果这返回错误或false,则没有要更新的行,所以我们插入一个新的当前日期和第一个匹配:

Insert into hits_table (hitsDate, hits) values (curdate(), 1)

现在你可以查看你想要的任何一天的点击,可以制作漂亮的图表,......