2011-02-12 83 views
0

我需要一些關於PHP語法的幫助。 我如何可以添加按照下面一行行基本的PHP語法幫​​助

if ($month == $dbmonth) echo ' selected="selected"'; 

,期權價值

$monthOptions .= "<option value=\"$month\" >$month</option>\n"; 

,使它看起來像裏面:(假設$dbmonth = 3

<option value="3" selected="selected" > 3 </option> 

感謝您的幫助

回答

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"; 
} 
+0

感謝您的詳細解釋。 – adam 2011-02-12 18:34:40

0

你可以做這樣的事情。

$monthOptions .= "<option value=\"$month\"" 
if ($month == $dbmonth) $monthOptions .= ' selected="selected"'; 
$monthOptions .= ">$month</option>\n"; 
0

其他建議工作,但爲便於閱讀,我寧願:

$selected = ($month == $dbmonth) ? ' selected="selected"' : ''; 

$monthOptions .= "<option value=\"$month\" $selected >$month</option>\n"; 

還有少麪條代碼,並最終可以過渡到某種模板系統。