2012-05-07 23 views
2

DBに保存されているストアの割引を使用してPHPプロモーションキャンペーンを行っています。一週間に一度、今週中のランダムな日と時間、私はSQLクエリを実行し、割引クーポンを表示する必要があります。PHPコードを1週間に1回、ランダムに実行します。

私はこのような何かを探しています:

if(once_a_week()){ 
show_discount_coupon(); 
} 

これは、この問題に直面する方法上の任意の提案を、私は思ったよりも難しくなっていますか?

+1

あなたはそれがあなたに絶対的なランダム性を与えるべきであるときに毎週手動でスクリプトを実行してください。 –

+0

@NiftyDude:通常の睡眠時間を考慮すると、実際には絶対的な狂気ではありません。 ;) – Paul

+0

クーポンを表示するための時間枠の粒度はどうですか?クーポンは、その時から週の終わりまで、または特定の期間だけ表示されますか? – Paul

答えて

0

私は、データベースに毎週のためのランダムな日付と時刻を生成し、その後、あなたのウェブサイトのコードでそれを確認します。データベースからの日付のリストのうち、最初の日付を取得し、それをテスト:

if $date_today == $next_coupon_date{ showCoupon(); } 

その週後に、あなたはこの日付を削除し、次の行に次のいずれかを使用することがあります。 :)

こうして、いったん日付が作成されると、再び何かを心配する必要はありません。

+0

過去の日付を手動で削除する必要はありません。今年の週ごとに1つのレコードを持つテーブルを作成し、そのレコードに無作為に選択した時間があります。スクリプトは、その週が何であるかをチェックし、対応する時間を引いて、その時間の特定の時間数内にある場合にクーポンを表示することができる。 – octern

+0

ありがとう、私はこれがそれをするべきだと思います –

0
  1. 、データベース、または設定ファイル内の二つのフィールドの例を作成します。 "next_week_day"、 "update_time";スクリプトで
  2. $ next_week_day =ランド(1,7)、フィールドの値を生成します。

3.Checkスクリプト内の日:

<?php 
    if(date("N") == $next_week_day){ 
     show_discount_cuppon(); 
     if($update_time<time()){ 
     $update_time = time(); 
     } 
    $next_week_day = rand(1,7); 
    } 
?> 
関連する問題