我有一个表格可以允许更新为项目分配的位置。
位置菜单列出了所有尚未分配的位置。但是,我希望在列表中选择正在编辑的项目(因此分配给该项目)的位置。
问题是如何显示所有未分配给项目的位置,并让正在编辑的项目的位置显示为选定的?
请注意,位置表分配列设置为 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>";
}
最佳答案
将查询更改为 UNION 解决了问题:
$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>";
}
关于php - MySQL 选择异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26900472/