0

我从事广告项目,上面的任何帖子都有一定的时间显示, 例如:(toyota cara model 2011 for sale)此添加将在一周后过期。当我将它插入数据库时​​,我选择它将在一周后禁用我现在需要的只是一周后这篇文章会自动从首页的查询中禁用

我怎样才能使用 PHP 和 MYSQL 做到这一点?

4

5 回答 5

5

而不是运行 cron 作业或其他:仅选择上周发布的广告列表。

SELECT `listing_title`, `etc` FROM `ad_listing`
WHERE `date_posted` BETWEEN date_sub(now(), INTERVAL 1 WEEK) AND now();
于 2012-11-12T15:52:47.067 回答
1

我相信最简单和最干净的方法是使用删除/禁用数据所需的脚本创建一个cronjob,然后将其设置为在当天运行。

这是一个关于如何做到这一点的小例子:http ://www.thesitewizard.com/general/set-cron-job.shtml

这样,您的数据库中就不会有不必要的信息。

于 2012-11-12T15:52:34.087 回答
1

例如,您必须在查询中使用时间限制

SELECT * FROM cars WHERE model="toyta" and submitted_time > '2012-11-8 20:31:23'

我希望这有帮助

于 2012-11-12T15:53:35.130 回答
0

通过 PHP 或数据库触发器创建一个提前一周存储时间的字段,然后在您的搜索中添加 - WHERE field> now()

于 2012-11-12T15:57:53.943 回答
0

如果您的版本是 5.1 或更高版本,并且您拥有 SUPER 权限,您还可以使用 MySQL 事件调度程序。这就像一个 cron 作业,但由 MySQL 执行。

更多详细信息,请访问 http://dev.mysql.com/doc/refman/5.1/en/events.html

于 2012-11-12T16:55:15.550 回答