获取mysql记录的值并在下拉列表中显示

时间:2014-01-06 14:18:41

标签: php mysql

我有一个整数1到10的mysql条目。我想在下拉列表中显示预先选择的结果。我正在使用 -

<select name="Sleeps">
<?php
 $sleeps = $row['Sleeps'];

 $selectedId = array(1, 2, 3);
 $selection = array(
        1 => "1",
        2 => "2",
        3 => "3" );

 foreach($selection as $value){
    $text = $value;
    $selected = '';
    if ($selectedID == $sleeps) {
        $selected = 'selected';
    }
    echo '<option value="'.$text.'" selected="'.$selected.'">'.$text.'</option>';
 }
?>
</select>

这几乎与我有关 -

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

但是所有选项都选择了=“已选中”,我只想要选择我的数据库中的值,我认为这应该只是“选中”文字,如 -

2

请帮助我不熟悉这个

2 个答案:

答案 0 :(得分:1)

我认为这是类型错误。尝试使用“===”或者如果这些行是文本转换为int How contert text to int

答案 1 :(得分:0)

if ($selectedID == $sleeps) {
    $selected = 'selected';
}

应该是

if ($text == $sleeps) {
    $selected = 'selected';
}

selectedID未在任何地方定义,但selectedId是,如果您希望它适用于数组中的任何数字,请使用

if (in_array($sleeps, $selectedID)) {
    $selected = 'selected';
}