2016-11-30 89 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()