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