詳細が指定されていない疑似コード...
まず、プロモーションを表す配列/オブジェクトを作成します。
$promos = Array(Array('product_id' => 566,
'date' => '12-04'),
Array('product_id' => 565,
'date' => '16-07'),
Array('product_id' => 565,
'date' => '23-07'),
Array('product_id' => 565,
'date' => '22-07'),
);
次に、現在の日付を確認し、それに応じてクエリを実行します。
// get todays date
$today = date('d-m');
// put items to be displayed today in $display_today
$display_today = Array();
foreach($promos as $promo){
if($promo['date'] == $today) array_push($display_today, $promo);
}
// display somehow
foreach($display_today as $promo){
// query products by id and display
}
プロモーションをデータベースにも保存する場合を除き、データベースのタイムスタンプを処理する必要はありません。
実際には、この種の機能は日付範囲をカバーするように拡張する必要があります。これは、通常、バレンタインデーの約束が VD ect の数日前に続くためです。