我有一个整数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
请帮助我不熟悉这个
答案 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';
}