試験の名前、日付、時刻を表示するドロップダウンメニューがあります。現在の日付または時刻から試験日が過ぎている場合、テキストは赤で表示され、そうでない場合は緑で表示されます。
私が抱えている問題は、現在の日付が2012年10月11日(今日)であり、試験の日付と時刻が以下の場合です。
2012年10月11日、16:00:00
テキストは緑ではなく赤で表示されます。問題は、現在の時刻を認識していないため、現在の日付であるため赤であると考えていますが、現在の時刻が現在の日付を過ぎていないため、緑である必要があります。
データベースは日付を2012-11-10として保存し、データベースの時刻を16:00:00として保存します。前述のようにドロップダウンにある間、次のように保存されます:10-11-2012、16:00:00
以下はコードです:
<style>
.red{ color:red; }
.green{ color:green; }
</style>
..。
$now = date("Y-m-d h:i:s");
while ( $sessionqrystmt->fetch() ) {
if(strtotime($now) > strtotime($dbSessionDate)){
$class = 'red';
} else {
$class = 'green';
}
$sessionHTML .= sprintf("<option value='%s' class='%s'>%s - %s - %s</option>", $dbSessionId, $class, $dbSessionName, date("d-m-Y",strtotime($dbSessionDate)), $dbSessionTime) . PHP_EOL;
}
$ nowは現在の日時であり、$dbSessionDateは10-11-2012である必要があります
アップデート:
$sessionHTML = '<select name="session" id="sessionsDrop">'.PHP_EOL;
$sessionHTML .= '<option value="">Please Select</option>'.PHP_EOL;
$now = date("Y-m-d H:i:s");
echo strtotime($now).'<br>';
echo strtotime('10-11-2012, 16:00:00');
while ( $sessionqrystmt->fetch() ) {
if(strtotime($now) > strtotime($dbSessionDate)){
$class = 'red';
} else {
$class = 'green';
}
$sessionHTML .= sprintf("<option value='%s' class='%s'>%s - %s - %s</option>", $dbSessionId, $class, $dbSessionName, date("d-m-Y",strtotime($dbSessionDate)), date("H:i",strtotime($dbSessionTime))) . PHP_EOL;
}
$sessionHTML .= '</select>';
$assessmentform = "<form action='".htmlentities($_SERVER['PHP_SELF'])."' method='post'>
<p><strong>Assessments:</strong> {$sessionHTML} </p>
</form>";