2016-10-02 14 views
-1

私はPHPで学校のスクリプトを作成しています。私のPHPコードスニペットは、このようなものです:Dropdown selected = "selected"問題

$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

場所は?<?php echo $ class_selected;代わりに$ class_selected –

+0

@ u_mulderの代わりに "?>'を使用してください:いいえ、ページがPHPコードを実行していて、選択された= "選択済み"を表示しない –

答えて

2

私がコメントで言ったように、このようなものには三項演算子を使うのが最善です。

  • エコーの中で少しトリッキーですが、努力する価値があります。成功したクエリとすると仮定すると

:上記

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

とは、以下のオプションの1に等しく、文字列は大文字と小文字が区別され、以下のように動作します覚えている:

Sidenote:コメントには、コードがエコー内にあると述べました。

$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> 

';