如果值与数据库中的值相对应,我希望选择下拉列表中的项目。
到目前为止,这是我的代码......
$hardware_type = $row['type'];
//pull names from hardware types from databse
$sql = "SELECT * FROM s_num_serialz_types ORDER BY type ASC";
$result = $mysqli->query($sql) or die($mysqli->error.__LINE__);
$type_dropdown = '<select id="serial_type" class="accounts_input_dropdown" type="text" name="serial_type" selected="'.$_POST['serial_type'].'"/><option></option>';
while($row = mysqli_fetch_assoc($result)){
if($row['type'] != $hardware_type){
$type_dropdown .= "\r\n<option value='{$row['type']}'>{$row['type']}</option>";
}else{
$type_dropdown .= "\r\n<option value='{$row['type']} selected=\"selected\">{$row['type']}</option>";
}
}
$type_dropdown .= "\r\n</select>";
我已经尝试了几种编写此代码的方法,似乎没有一种方法可行。我第一次尝试......
while($row = mysqli_fetch_assoc($result)){
if($row['type'] == $hardware_type){
$type_dropdown .= "\r\n<option value='{$row['type']} selected=\"selected\">{$row['type']}</option>";
}else{
$type_dropdown .= "\r\n<option value='{$row['type']}'>{$row['type']}</option>";
}
}
这会在列表中选择正确的项目,但包含此列表的表单的其余部分不会显示。
非常感谢任何帮助
答案 0 :(得分:0)
value='{$row['type']}
(第二个代码示例)缺少关闭单引号以关闭value
属性值 - 这可能足以让浏览器退出在该元素之后呈现表单。< / p>
value='{$row['type']}'
答案 1 :(得分:0)
你这里有一个错字
<option value='{$row['type']}
缺少结束'
。你也在混合单引号和双引号,这不是标准的最佳选择。
我建议你这个紧凑版本:
while($row = mysqli_fetch_assoc($result)){
$selected = ($row['type'] == $hardware_type) ? " selected='selected'" : '';
$type_dropdown .= "\r\n<option value='{$row['type']}'$selected>{$row['type']}</option>";
}