0

3 日間だけアクティブになる (フォーラム上の) スレッドがあるとします。さて、3 日後に、このスレッドを自動的に閉じたいと思います。

このスレッドがデータベースに作成されたときに時間への参照を使用できますか。現在の日付 + 日が作成日よりも大きい場合は、 ifステートメントを作成して出力します"<h2>Thread Closed for posting</h2>"

そして、他のいくつかのタスクを検討するとき、時間への参照を使用して、これに対して特定のイベントを実行できると思います。

私は正しいですか?

4

3 に答える 3

2

「cron」は、特定の間隔または時間で実行されるタスクです。これは、ユーザーの操作なしで実行する必要があるタスクに使用する必要があることを意味します。たとえば、バックアップ、自動メール、リモート サービスからのデータのプルなどです。

あなたが望むものは、スレッドが閉じているかどうかをチェックする条件により適しています。フラグだけでなく、年齢も確認します。これは、データベースを編集する必要なく、古いスレッドのロジックを変更できることを意味します。

于 2012-07-23T23:45:01.350 に答える
2

cron (毎分実行) を使用して、スレッド テーブルのステータス フィールドを次のようにクローズに設定できます。

UPDATE threads
SET status='closed'
WHERE lastPost+INTERVAL 3 DAY<NOW()

次に、PHPで次のようなもの

if($thread['status'] == 'closed')
{
   // Put your HTML here.
}
于 2012-07-23T23:39:11.130 に答える
0

特定の日付のすべての投稿を選択し、それらをクローズに設定する cron によって実行される PHP スクリプトを作成できます (コマンド ラインで PHP を実行する方法を参照)。たとえば、これを 1 日 2 回実行すると、すべての投稿をクローズするのに十分な成果が得られます。

cron を使用して PHP を実行するための良いリファレンス

于 2012-07-23T23:39:53.183 に答える