[英]Reset MySQL value every day with PHP
我正在尝试制作一个PHP命中计数器,将命中保存到MySQL中。 如果能以某种方式获得每天的收益,那将是最好的选择,但是到目前为止,我还没有弄清楚如何做到这一点,因为它太复杂了。 因此,就目前而言(除非这里有人针对以上^提供解决方案),我想每天在00:00重置MySQL中的“今日匹配”。 我似乎找不到一种调度此方法的方法,该方法每天在00:00(英国时间GMT 0)自动执行。
您有两种解决方案:
将事件计划程序用于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更改为其他小时值)
吉安卡洛(Giancarlo)绝对正确地回答了您的问题,
但我建议采用其他方法:
与字段有一个“命中”表
hitsDate (date) | hits (int)
----------------------------------
2015-01-06 | 329
2015-01-05 | 0
每次您要添加匹配(可能是登录时还是会话开始时)时,都要与当前日期进行比较:
Update hits_table set hits=hits+1 where hitsDate=curdate()
如果返回错误或错误,则没有行要更新,因此我们插入一个具有当前日期和第一个匹配项的新行:
Insert into hits_table (hitsDate, hits) values (curdate(), 1)
现在,您可以查看所需日子的点击量,可以制作精美的图表,...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.