我有一个网站,允许用户下载PDF文件, 我为每个用户每天限制下载10个文件,并将数字存储在MySQL数据库中。一切正常!
问题是:限制将被永久设置,我希望将其每24小时重置为0。 是否有任何phpmyadmin命令或每隔24小时自动将该列重置为0的方法或其他方法!
答案 0 :(得分:2)
我会尝试另一种方式。
我将添加表download_log(user_id,file_id,timestamp)并在每次用户下载某些文件时插入行。 要检查用户是否达到上限,您可以检查他有多少下载量在过去24小时进行。 像
SELECT COUNT(*) FROM download_log WHERE user_id = ? AND timestamp > DATE_SUB(NOW(), INTERVAL 1 DAY)
要安排一些操作可以使用cron运行脚本
答案 1 :(得分:0)
您似乎已经将下载计数存储在各种日志表中。
为使这些计数过期,我建议使用MySQL固有的事件调度程序。您可能需要在服务器参数中启用它。
语法看起来像这样:
CREATE EVENT myevent
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 DAY
DO
UPDATE count_db.count_table SET count_column = 0;