2016-10-03 74 views
0

我想編輯下拉列表中的員工信息,我有兩個數據庫表,其中有一個共享字段: 在table1中,我有很多字段,其中之一是員工職位這是一個數字。在表2中,我有兩個字段:EmpPos(它等於位置在表1中)和PosName。 現在,在下拉列表中,當我添加一個新員工時,我填寫表PosName from table2,但在Table1中存儲職位編號。 問題是在編輯形式,我打印所有員工的信息,從表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

這似乎不大可能,'ID '等於'位置'。 – Strawberry

回答

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>"; 
+0

這個問題只與下拉列表中的值有關,我希望一旦我打開編輯表單 – user2148116

+0

'(($ Id == $ Position)?'selected':'')''''這個部分顯示如果添加$ id = employee position id $ value = position id id –

+0

yes選擇的值我嘗試過但不起作用 – user2148116

相關問題