从两个数据库表

时间:2016-10-03 05:39:00

标签: php mysql

我想在下拉列表中编辑员工的信息,我有两个数据库表,其中有一个共享字段: 在表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>";
        }
        }

感谢

1 个答案:

答案 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>";