我想在下拉列表中编辑员工的信息,我有两个数据库表,其中有一个共享字段: 在表1中,我有很多字段,其中一个是员工职位,这是一个数字。在table2中,我有两个字段: EmpPos (等于table1中的位置)和 PosName 。 现在,在下拉列表中,当我添加新员工时,我从表2中填充 PosName 列表,但在表1中存储位置号。 问题出在编辑表格中,我在表格中打印所有员工的信息进行编辑,但我不知道如何从关联的位置中选择员工的 PosName 在下拉列表中 这是我的代码:
echo" <b>Position: </b> <select name='Position' >";
$sql="SELECT * FROM table1 LEFT JOIN table2 ON table1.Position = table2.EmpPos";
$result = $conn->query($sql);
if ($result->num_rows > 0)
{
while($row = $result->fetch_assoc()) {
$PosName=$row["PosName"];
$Id=$row['EmpPos'];
echo" <option name= '$PosName' value='$PosName' ' . (($Id==$Position) ? 'selected' : '') . '>$PosName</option>";
}
}
感谢
答案 0 :(得分:0)
编写查询以从位置表中获取所有位置:
$sql="SELECT * FROM positionTable order by position name asc";
$result = $conn->query($sql);
$Empquery = "Fetch all data related to that employee.";
echo" <b>Position: </b> <select name='Position' >";
if ($result->num_rows > 0)
{
while($row = $result->fetch_assoc()) {
$PosName=$row["PosName"];
$Id=$row['EmpPos']; //it must emp's position id fetch from other query.
echo" <option name= '$PosName' value='$PosName' ' . (($Id==$Position) ? 'selected' : '') . '>$PosName</option>";
}
}
echo "</select>";