$query = mysqli_query($conn, $sql_query);
$op = "";
while($rd = mysqli_fetch_assoc($query)){
$op .= "<option value=".$rd['id'].">".$rd['name']."</option>";
}
if($rd['id']==$asssingId){echo "selected";}
这里选择与“ $assignId
”相似的选项,但似乎是一个错误,请您帮我解决。
在编写HTML时(在循环过程中)而不是在循环结束后,将selected
属性放在右侧<option>
中。您可以在循环内部使用ternary operator进行操作,以有条件地分配一个变量,使用该变量与剩余的HTML连接:
while ($rd = mysqli_fetch_assoc($query)) {
$isSelected = ($assignId == $rd['id']) ? 'selected' : '';
$op .= "<option ".$isSelected." value=".$rd['id'].">".$rd['name']."</option>";
}