2016-11-30 11 views
0

私はMySQL Tableを持っています。それらは、カムがアクティブまたは非アクティブである列statusと、オプションである2つの列を持っています。publish dateおよびexpire dateスケジューリング用の列です。MySQL/PHP - 日付に応じてステータスが変更されます

公開日と有効期限に応じてステータスを変更するには、どのソリューションをお勧めしますか? PHP scriptまたはcronjobでこれを行うことはできますか?

EDIT 30.11.16/16:50 おそらく、私の具体的な問題についてもっと正確にしなければならないでしょう:私はmagentoストアを持っており、ティーザーを予定する可能性を追加したいと思います。既存のコードをできるだけ変更したい。

+0

を選択させる場合は、[はい、cronジョブは、これを行うことができ、またはあなたがロードしているときの状態を決定し、多分それは必要ありません、ステータスフィールドについて思うだろうコンテンツ –

+0

コンテンツを読み込む際に、公開日が到着していないか、有効期限が切れている場所を単純に除外することができます。そうすれば、ステータス更新ジョブが必要なくなります。 DBの純粋さについては、より良いデータベース設計と見なすこともできます。ステータスが他のフィールドの値に基づいて純粋に決定できるフィールドの場合、必要なときに値を導出できるため、実質的に冗長です。 – ADyson

答えて

0

@ADyson悲しいことに、期限切れになっていたはずの投稿が表示されるため、悲しいことに、cronjobで作業するべきではありません。

しかし、ステータスと有効期限/公開日のロジックを処理する単一のクラス/関数を作成しようと考えています。あなたがcronjobと異なる出力ページにコードコピーを持っていれば、後で混乱するでしょう。

私はまた、あなたには、いくつかのMySQLが

よう
... 
WHERE publish_date>now() AND expire_date<now() 
関連する問題