セミナーの投稿を扱うWebページを作ろうとしています。有効期限 (またはセミナーの開催日) を過ぎたセミナーをページから削除したいのですが、私のテーブルには 3 つの日付スロットがあり、1 つは月、1 つは日、もう 1 つは年です。これらはすべて表内の整数です。
if(date("Y") > $info['year']) //if the year is old
{ $sql = "DELETE FROM seminars WHERE ID = '$ID'";
mysql_query($sql); } //then delete this seminar
else if(date("Y") == $info['year'] && date("n") > $info['month']) //if we are in the year of the seminar, but the month is now old
{ $sql = "DELETE FROM seminars WHERE ID = '$ID'";
mysql_query($sql);} // then delete this seminar
else if(date("Y") == $info['year'] && date("n") == $info['month'] && date("j") > $info['day']) //if we are in the year of the seminar and the month of the seminar, but the day is old
{ $sql = "DELETE FROM seminars WHERE ID = '$ID'";
mysql_query($sql); } // then delete this seminar
else // if there is no reason to delete the seminar then print out this seminar
上に見られるように、私は年月日のシステム時刻を使用しようとし、それぞれを比較して古いものがないかどうかを確認しました。ただし、セミナーを削除することはありません。
このステートメントはwhile$info
ループ内にあり、テーブルからすべての行を取得できるためです。しかし、delete ステートメントが機能していない場合でも、セミナーは表示されませんよね? ちなみに、最後のelseステートメントは、セミナーの表示が始まる場所です。
誰かがこれを行うためのより良い方法を知っていれば、私はそれを大いに感謝します. 私はしばらくこれに苦労してきました。