繁体   English   中英

每天使用PHP重置MySQL值

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM