期間限定メッセージを表示するコードを教えてください。
例:
1)5月9日以前 通常のメッセージ
2)5月9日0時~5月10日0時まで キャンペーン開始のメッセージ
3)5月10日0時~5月11日0時まで キャンペーン終了のメッセージ
4)5月11日以降 通常のメッセージ
こんな感じで、3パターンのメッセージを
使い分けたいと思っています。
どうぞよろしくお願いいたします。
下記のような具合です
<?php $now = date('ymd'); if ( $now >= 110509 && $now < 110510 ) { echo 'キャンペーン開始です!'; } elseif ( $now >= 110510 && $now < 110511 ) { echo 'キャンペーン終了です!'; } else { echo '通常メッセージ!'; }
上記は日付での判定なので
$nowには年下二桁+月二桁+日二桁の並びの数値がはいりますが、条件に応じて下記のような具合にしていけます
時間までなら
$now = date('ymdH');
分までなら
$now = date('ymdHi');
秒までなら
$now = date('ymdHis');
こんな感じになります。
表示したいメッセージは配列 $msg に入れてください。HTMLタグを入れることもできます。
ご質問の日本語文からは以下・未満の違いが曖昧でしたので、プログラムの不等号記号から境目の時刻を読み取るようにお願いします。
<?php //この配列を適宜変更してください $msg = array( '', '1)5月9日以前 通常のメッセージ', '2)5月9日0時~5月10日0時まで キャンペーン開始のメッセージ', '3)5月10日0時~5月11日0時まで キャンペーン終了のメッセージ', '4)5月11日以降 通常のメッセージ' ); $ti = time(); //現在時刻 if ($ti < mktime(0, 0, 0, 5, 9, 2011)) echo $msg[1]; else if ($ti >= mktime(0, 0, 0, 5, 9, 2011) && $ti < mktime(0, 0, 0, 5, 10, 2011)) echo $msg[2]; else if ($ti >= mktime(0, 0, 0, 5, 10, 2011) && $ti < mktime(0, 0, 0, 5, 11, 2011)) echo $msg[3]; else if ($ti >= mktime(0, 0, 0, 5, 11, 2011)) echo $msg[3]; ?>
asuka645さん、ありがとうございます。
とっても参考になります。
こういう風に配列を使ってもできるんですね~。
目から鱗でした。感謝です。
下記のような具合です
<?php $now = date('ymd'); if ( $now >= 110509 && $now < 110510 ) { echo 'キャンペーン開始です!'; } elseif ( $now >= 110510 && $now < 110511 ) { echo 'キャンペーン終了です!'; } else { echo '通常メッセージ!'; }
上記は日付での判定なので
$nowには年下二桁+月二桁+日二桁の並びの数値がはいりますが、条件に応じて下記のような具合にしていけます
時間までなら
$now = date('ymdH');
分までなら
$now = date('ymdHi');
秒までなら
$now = date('ymdHis');
windofjulyさん、ありがとうございます。
時間までの判定をしたかったので、
補足情報もとっても助かります。
メッセージのところにHTMLで装飾したものを入れて
みたいと思っているので、チャレンジしてみます。
丁寧なご返信に感謝です。
windofjulyさん、ありがとうございます。
時間までの判定をしたかったので、
補足情報もとっても助かります。
メッセージのところにHTMLで装飾したものを入れて
みたいと思っているので、チャレンジしてみます。
丁寧なご返信に感謝です。