3

$dbSessionDate私の質問は、開始日と開始時刻$dbSessionTimeが現在の日時より前の場合、下の[作成]ドロップダウンメニューのオプションを無効にするにはどうすればよいですか?

以下は、mysqliを使用してデータベースからデータをフェッチするドロップダウンメニューです。

while ( $sessionqrystmt->fetch() ) {

$time_string = $dbSessionDate." ".$dbSessionTime;
$time_from_string = strtotime($time_string);    
if($time_from_string > date("Y-m-d H:i:s"))
{
$sessionHTML .= sprintf("<option value='%s'>%s - %s - %s</option>", $dbSessionId, $dbSessionName, date("d-m-Y",strtotime($dbSessionDate)), date("H:i",strtotime($dbSessionTime))) . PHP_EOL;    
}else{
$sessionHTML .= sprintf("<option value='%s' disabled>%s - %s - %s</option>", $dbSessionId, $dbSessionName, date("d-m-Y",strtotime($dbSessionDate)), date("H:i",strtotime($dbSessionTime))) . PHP_EOL;   

}
}

アップデート:

ビューソースからのHTML:

<select name="session" id="sessionsDrop">
<option value="">Please Select</option>
<option value='28'>LDREW - 09-01-2013 - 09:00</option>
<option value='29'>BQNYF - 10-01-2013 - 10:00</option>
<option value='22'>WDFRK - 17-01-2013 - 09:00</option>
<option value='26'>POKUB1 - 25-01-2013 - 15:00</option>
</select>
4

2 に答える 2

1

を使用しstrtotime()ます。組み合わせ$dbSessionDate$dbSessionTime一緒に、それを関数に渡しstrtotime、結果の変数をと比較しますdate()

コード:

$time_string = $dbSessionDate." ".$dbSessionTime;
$time_from_string = strtotime($time_string);

if($time_from_string > strtotime(date("Y-m-d H:i:s")))
{
   //Do whatever you like to do.
}
于 2013-01-14T15:50:05.027 に答える
0

日付と時刻を比較する必要があり、現在の日付と時刻の前に「無効」属性をドロップダウンに配置する必要があります。

このようなもの:

while ( $sessionqrystmt->fetch() ) {
    $attribute = "";
    if (strtotime($dbSessionDate." ".$dbSessionTime) < date("Y-m-d H:i:s")){ $atribute = "disabled";}
    $sessionHTML .= sprintf("<option value='%s' %s>%s - %s - %s</option>", $dbSessionId, $attribute, $dbSessionName, date("d-m-Y",strtotime($dbSessionDate)), date("H:i",strtotime($dbSessionTime))) . PHP_EOL;
}

ここで無効な属性の定義を見ることができます: http ://www.w3schools.com/tags/att_option_disabled.asp

于 2013-01-14T16:00:09.467 に答える