我的问题是,如果开始日期$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>
答案 0 :(得分: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.
}
答案 1 :(得分: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