2016-10-02 87 views
-1

我正在用PHP構建一個學校腳本。我的PHP代碼片段是這樣的:Dropdown selected =「selected」issue

$sid = intval($mybb->input['sid']); 
$query = $db->simple_select("student_list", "*", "sid='{$sid}'"); 
$s = $db->fetch_array($query); 

$class_selected = ''; 
if ($s['student_class'] == $mybb->input['student_class']) 
{ 
    $class_selected = ' selected="selected"'; 
} 

和HTML是這樣的:

<select name="student_class" class="textbox" tabindex="2"> 
    <option value="Play Group"'.$class_selected.'>Play Group</option> 
    <option value="Nursery"'.$class_selected.'>Nursery</option> 
    <option value="Prep."'.$class_selected.'>Prep.</option> 
    <option value="1"'.$class_selected.'>One</option> 
    <option value="2"'.$class_selected.'>Two</option> 
    <option value="3"'.$class_selected.'>Three</option> 
    <option value="4"'.$class_selected.'>Four</option> 
    <option value="5"'.$class_selected.'>Five</option> 
    <option value="6"'.$class_selected.'>Six</option> 
    <option value="7"'.$class_selected.'>Seven</option> 
    <option value="8"'.$class_selected.'>Eight</option> 
    <option value="9"'.$class_selected.'>Nine</option> 
    <option value="10"'.$class_selected.'>Ten</option> 
</select> 

但不幸的是一旦運行該值沒有選擇的所有腳本。 :/

順便說的$s['student_class']值是Nursery

請幫助。

+1

難道你忘了'echo'嗎? –

+0

Place'<?php echo $ class_selected; ?>'而不是$ class_selected –

+0

@u_mulder:不,頁面正在運行PHP代碼,它只是不顯示selected =「selected」 –

回答

2

正如我在評論中所說,最好使用三元運算符來處理這樣的事情。

  • 它們在回聲中有點棘手,但非常值得努力。

假設查詢成功,並且:

if ($s['student_class'] == $mybb->input['student_class']) 

和上述等於以下選項之一,並記住的字符串是大小寫敏感的,下面的工作:

旁註:您在評論中提到該代碼位於回聲中。

$class_selected = 'Nursery'; // Assumed input 

echo ' 
<select name="student_class" class="textbox" tabindex="2"> 

    <option value="Play Group" '.(($class_selected == 'Play Group') ? "selected" : "").'>Play Group</option> 

    <option value="Nursery" '.(($class_selected == 'Nursery') ? "selected" : "").'>Nursery</option> 

    <option value="" '.(($class_selected == 'Prep.') ? "selected" : "").'>Prep.</option> 

    <option value="1" '.(($class_selected == '1') ? "selected" : "").'>One</option> 

    <option value="2" '.(($class_selected == '2') ? "selected" : "").'>Two</option> 

    <option value="3" '.(($class_selected == '3') ? "selected" : "").'>Three</option> 

    <option value="4" '.(($class_selected == '4') ? "selected" : "").'>Four</option> 

    <option value="5" '.(($class_selected == '5') ? "selected" : "").'>Five</option> 

    <option value="6" '.(($class_selected == '6') ? "selected" : "").'>Six</option> 

    <option value="7" '.(($class_selected == '7') ? "selected" : "").'>Seven</option> 

    <option value="8" '.(($class_selected == '8') ? "selected" : "").'>Eight</option> 

    <option value="9" '.(($class_selected == '9') ? "selected" : "").'>Nine</option> 

    <option value="10" '.(($class_selected == '10') ? "selected" : "").'>Ten</option> 

</select> 

';