让我们说有一个帖子(在论坛上)只会活动3天。现在,3天后,我希望这个线程自动关闭。
我可以在数据库中创建此线程时使用时间参考,如果当前日期+天数大于创建日期,则使用 if 语句,我将打印出"<h2>Thread Closed for posting</h2>"
< / p>
当我考虑其他一些任务时,我想我可以使用时间参考并在此处执行某些事件。
我是对的吗?
答案 0 :(得分:2)
您可以使用cron(每分钟运行一次)将线程表上的状态字段设置为关闭,例如。
UPDATE threads
SET status='closed'
WHERE lastPost+INTERVAL 3 DAY<NOW()
然后在PHP中使用诸如
之类的东西if($thread['status'] == 'closed')
{
// Put your HTML here.
}
答案 1 :(得分:2)
'cron'是以特定间隔或时间运行的任务。这意味着它应该用于必须在没有用户交互的情况下完成的任务。例如,备份,自动发送电子邮件或从远程服务中提取数据。
您想要的更适合检查线程是否已关闭的条件。您还可以检查年龄,而不仅仅是拥有一面旗帜。这意味着您无需编辑数据库即可更改旧线程逻辑。
答案 2 :(得分:0)
您可以创建一个由cron执行的PHP脚本(阅读如何在命令行中执行PHP),该脚本选择某个日期中的所有帖子,然后将它们设置为关闭。如果你每天跑两次,那么你就可以把关闭所有这些帖子做得很好。