我需要一些PHP语法的帮助。 如何添加以下行
if ($month == $dbmonth) echo ' selected="selected"';
在以下行中,在选项值
中$monthOptions .= "<option value=\"$month\" >$month</option>\n";
看起来像:
<option value="3" selected="selected" > 3 </option>
(假设$dbmonth = 3
。)
感谢您的帮助
答案 0 :(得分:2)
echo '<option value="'.$month.'"'
.($month==$dbmonth?' selected="selected':'')
.'>'.$month.'</option>
我认为你的目标是什么(使用内联条件,(<condition>?<true outcome>:<false outcome>)
如果这是一个循环:
for ($month = 1; $month < 13; $month++)
echo '<option value="'.$month.'"'
.($month==$dbmonth?' selected="selected':'')
.'>'.$month.'</option>
你也可以更清晰地分辨出来:
for ($month = 1; $month < 13; $month++)
{
$selected = '';
if ($month == $dbmonth)
$selected = ' selected="selected"';
echo "<option value=\"{$month}\"{$selected}>{$month}</option";
}
答案 1 :(得分:0)
你可以这样做。
$monthOptions .= "<option value=\"$month\""
if ($month == $dbmonth) $monthOptions .= ' selected="selected"';
$monthOptions .= ">$month</option>\n";
答案 2 :(得分:0)
其他建议有效,但为了便于阅读,我更喜欢:
$selected = ($month == $dbmonth) ? ' selected="selected"' : '';
$monthOptions .= "<option value=\"$month\" $selected >$month</option>\n";
意大利面条代码也较少,最终你可以转换到某种模板系统。