我正在尝试创建一个表单,您可以在其中插入用户并编辑用户。默认情况下,表单设置为添加用户(include 'insertuserform.php';
)。在表单下方打印表[1],其中包含编辑用户的选项(通过链接index.php?uid=".$row['uid']."&cmd=edit
),其中if语句表示如果设置了uid并且cmd设置为编辑然后显示编辑用户表单(include 'edituserform.php';
)(否则显示添加用户表单)。
要为用户选择部门,添加用户表单中会显示一个下拉菜单,其中显示部门名称,但保存部门ID,并且这两个表已链接[2]。
使用编辑用户表单时,我尝试使用当前数据自动填充字段。为此,我使用查询SELECT * FROM users WHERE uid={$_GET['uid']}
,然后在输入标记内使用value='".$row['name']."
回显表单(显然根据字段更改名称)。
如何为部门下拉菜单执行类似的操作?我已尝试autofocus='".$row['departmentid']."'
但它只是将其设置为所有用户的第一个选项。
对不起,如果这没有意义,我可以根据需要提供更多信息。
tl; dr如何自动为MySQL数据库中的下拉选择字段分配值?
答案 0 :(得分:2)
如果您希望自动选择此选项,则必须将此选项添加到您的选项中:selected =" selected"
例如:
foreach ($items as $item) {
echo "<option value=".$item["departmentid"]." ".($row["departmentid"] == $item["departmentid"] ? "selected=\"selected\"" : "").">".$item["departmentname"]."</option>";
}
我们假设&#34; $ items&#34;是&#34;选择*来自部门&#34;。
答案 1 :(得分:1)
您应该在。
中的每个元素中添加一个检查试试这个:
<option value="<?= $department['departmentid']; ?>" <?php if($row['departmentid'] == $department['departmentid']) { echo " selected" } ?>><?= $department['departmentname']; ?></option>