簡體   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