Php MySQL选择异常

Php MySQL选择异常,php,mysql,sql,Php,Mysql,Sql,我有一个表格,允许更新分配给某个项目的职位 “职位”菜单列出所有尚未分配的职位。但是,我希望将正在编辑的项目的位置分配给列表中要选择的项目 问题是如何显示未分配给项目的所有位置,以及如何使正在编辑的项目的位置显示为选中状态 请注意,“位置表已分配”列被设置为“未分配N”或“已为某个项目分配Y” $query_pos = mysql_query("SELECT * FROM position WHERE SUBSTRING(position, 1, 1) = '$room' AND allocat

我有一个表格,允许更新分配给某个项目的职位

“职位”菜单列出所有尚未分配的职位。但是,我希望将正在编辑的项目的位置分配给列表中要选择的项目

问题是如何显示未分配给项目的所有位置,以及如何使正在编辑的项目的位置显示为选中状态

请注意,“位置表已分配”列被设置为“未分配N”或“已为某个项目分配Y”

$query_pos = mysql_query("SELECT * FROM position WHERE SUBSTRING(position, 1, 1) = '$room' AND allocated = 'N' ORDER by position ASC");
while ($row_pos = mysql_fetch_assoc($query_pos)){
    if($row_pos['position'] == $position) {
                  echo "selected='selected'";
                }
echo "<option value='" .  $row_pos['position'] . "'>" . $row_pos['position'] . "</option>";
}

将查询更改为联合解决了以下问题:

$query_pos = mysql_query("(SELECT * FROM position WHERE position = '$position') UNION (SELECT * FROM position WHERE SUBSTRING(position, 1, 1) = '$room' AND allocated = 'N' ORDER by position ASC)");
while ($row_pos = mysql_fetch_assoc($query_pos)){
echo "<option value='" .  $row_pos['position'] . "'>" . $row_pos['position'] . "</option>";
}

你写这个问题的背景是我们知道你的数据库和代码结构是什么。一、 就个人而言,我不知道分配在这个问题上意味着什么。您说您希望选择正在编辑的项目的位置,然后您说您希望选择已分配的位置,那么是哪个位置,还是它们是同一个位置?