如何每24小时将列内的值设置为零?

时间:2019-02-03 17:20:34

标签: php mysql phpmyadmin

我有一个网站,允许用户下载PDF文件,我每个用户每天限制下载10个文件,并将数字存储在MySQL表中的“下载”列下。

每天我都使用此命令将所有用户的所有值都设置为0:

update users set downloads = 0

我与我的网络托管服务提供商联系,他们拒绝授予我超级用​​户特权,以安排此专栏每24小时重置一次。

是否有其他方法可以在PHP中编写少量代码以从外部重置该列,或通过其他任何方式来做到这一点?

更新:我也不能执行cron作业!

2 个答案:

答案 0 :(得分:1)

在同一字段中将日期和下载次数保存在数据库中,每次更新此字段时,请询问是否不保存今天的日期和零次下载,例如,您的字段为今天是今天?

date_downloadsTimes
03-02-2019_2

答案 1 :(得分:-1)

将上次重置时间存储在文件或数据库中,并在每次新下载请求时检查上次重置是否是24小时以上。如果是这样,请重置下载计数器并更新时间。这样,您就不必依赖后台工作。

或者,您可以设置从外部源(您的​​PC或某些Web服务)定期调用的路由(要调用的URL),并重置下载计数器。