我有一个带2个参数的功能,并输出一个选择下拉菜单。第一个参数只是名称,第二个参数是保存所选元素的参数($ sel)(数据首先从数据库中填充)。这工作正常,除了if语句(确定用于从数据库中预先选择一个选项)似乎不起作用。我已经确认应该有一个匹配,并且$ sel和date('g:i',$ i)都是字符串..所以原则上这应该有效..但它没有。
请你看一下,看看我做错了什么?
function selectTime_Hour($timeName,$sel){
$start = strtotime('1:00am');
$end = strtotime('12:00pm');
$menu = '<select name="'.$timeName.'">';
for ($i = $start; $i <= $end; $i += 1800)
{
if ($sel==date('g:i ', $i)){
$menu .= '<option selected="selected">' . date('g:i ', $i) . '</option>';
}
else {
$menu .= '<option value="'.date('g:i',$i).'">' . date('g:i ', $i) . '</option>';
}
}
$menu .= '</select>';
return $menu;
}
答案 0 :(得分:3)
我猜这是你在date()
次调用中添加的额外空间。
您正在使用<option>
的值填充date('g:i',$i)
标记,我认为您将其存储到数据库中。但是,在if语句中,您要将此与date('g:i ',$i)
进行比较,并在g:i
之后添加一个空格。