2016-11-30 214 views
0

我有一个MySQL Table,让我们来说说博客文章。它们有一列status,它们可以是活动的或不活动的,也可以是可选的两列:publish dateexpire date用于安排帖子。MySQL/PHP - 根据日期更改状态

根据发布日期和截止日期,您建议更改状态的解决方案是?我可以用PHP scriptcronjob来做到这一点吗?

编辑30.11.16/16:50 也许我必须对我的具体问题做更精确的描述:我有一个magento商店,我想补充安排玩笑的可能性。我想尽可能少地改变现有的代码。

+0

是的,一个cronjob能做到这一点,还是决定当你加载状态content –

+0

加载内容时,您可以简单地排除发布日期尚未到达或到期日期已过的任何地方。这将节省必须进行状态更新工作。对于数据库纯粹主义者来说,它也可能被认为是更好的数据库设计 - 如果状态是一个纯粹基于其他字段值的字段,那么它是有效的冗余,因为可以在需要时派生出该值。 – ADyson

回答

0

我会说,这取决于,但作为@ADYSON伤心你不应该只与一个cronjob工作,因为它显示一些应该已经过期的帖子。

但是你想写一个处理状态和过期/发布日期逻辑的类/函数。如果你在cronjob和不同的输出页面上有代码拷贝,它将会变得很糟糕。

我也会去想领域的地位,也许这是没有必要的,如果你做一些MySQL的选择像

... 
WHERE publish_date>now() AND expire_date<now()