php - 如何在数据库中存储到期日期并在日期运行(删除)脚本

时间:2012-10-02 20:44:27

标签: php mysql date cron

我有一个简单的网站,用户可以在其中发布广告,我想在用户上传广告时设置基于mysql表的到期日期,比如在一个月的时间内,然后在达到该日期时,我的删除脚本将自动运行以删除广告

任何帮助非常赞赏!!

3 个答案:

答案 0 :(得分:3)

添加脚本:

INSERT INTO ads (expires_on, ...)
VALUES (now() + INTERVAL 1 MONTH, ...) 

删除脚本:

SELECT ...
WHERE expires_on <= now()

让您的删除脚本每天运行一次(例如,cron作业)

答案 1 :(得分:2)

  1. 编写一个查询数据库的脚本,并根据创建广告时设置的时间戳删除/标记所有过期广告。
  2. 从cron作业集调用此脚本以便每晚运行。
  3. 更好的是,如果数据集很小,请忽略主代码中过期的广告,而不是删除它们。

答案 2 :(得分:0)

添加查询:

INSERT INTO ads (expires_on, ...)
VALUES (now() + INTERVAL 1 MONTH, ...) 

删除查询:

DELETE from ads 
WHERE expires_on <= now()

并像其他人提到的那样在cron工作中运行它们。