2013-02-27 68 views
0

我想事先感謝你抽出時間幫助我,因爲我真的被困住了。根據動態下拉框在表單中填充文本字段。

我有兩個表。 Employee(Employee_ID,First_name,Last_name,Address等)和Training(Training_ID,Employee_ID,First_name,Last_name,Training_type)。

對於培訓表,我有一個表格,其中的意思是填寫爲員工分配培訓類型。

我想在我的表單中有一個名爲select employee_ID的下拉框,它在僱員表中具有employee_ID的值,它是來自該表的外鍵。

而且一旦選擇了一個選項,我想要兩個文本字段以名字和姓氏的形式進行更新。

我有很多問題試圖實現一個代碼,可以做到這一點,我不知道我是否應該添加Java或不。我將在下面顯示我的基本代碼,以向您展示它現在的樣子。

HTML表單

<html> 
<head> 
<link type="text/css" rel="stylesheet" href="style.css"/> 
<title>Training</title> 
</head> 

<body> 
<div id="content"> 
<h1 align="center">Add Training</h1> 

<form action="inserttraining.php" method="post"> 
<div> 
<p>Training ID: <input type="text" name="Training_ID"></p> 
<p>Employee ID: <input type="text" name="Employee_ID"></p> 
<p>First name: <input type="text" name="First_name"></p> 
<p>Last name: <input type="text" name="Last_name"></p> 
<p> 
Training required? 
<select name="Training"> 
<option value="">Select...</option> 
<option value="Customer Service">Customer Service</option> 
<option value="Bailer">Bailer</option> 
<option value="Reception">Reception</option> 
<option value="Fish & meat counters">Fish & meat counters</option> 
<option value="Cheese counters">Cheese counters</option> 
</select> 
</p> 
<input type="submit"> 
</form> 
</div> 

</body> 
</html> 

和數據存儲到數據庫我的PHP代碼。

<?php 
$con = mysql_connect("localhost","root",""); 
if (!$con) 
{ 
die('Could not connect: ' . mysql_error()); 
} 

mysql_select_db("hrmwaitrose", $con); 

$sql="INSERT INTO training (Training_ID, Employee_ID, First_name, Last_name, Training) 
VALUES 
('$_POST[Training_ID]','$_POST[Employee_ID]','$_POST[First_name]','$_POST[Last_name]','$_PO ST[Training]')"; 


if (!mysql_query($sql,$con)) 
{ 
die('Error: ' . mysql_error()); 
} 
echo "1 record added"; 

mysql_close($con); 
?> 

正如我之前所說的感謝高級,這是殺了我。

回答

0

首先,我認爲你的數據庫中有一些數據重複。當您在Training表中使用外鍵時,您不需要同時存儲員工的名字和姓氏,因爲該信息位於Employee表中。數據重複通常是一個壞主意,因爲它可能會導致數據不一致。

要解決您的問題,您首先需要在HTML表單中填入Employee_ID號的下拉列表。爲了簡單起見,我建議您將該頁面更改爲PHP頁面,並添加以下代碼以替換您的Employee_ID文本框。

<select id="Employee_ID"> 
<?php 
    $result = mysql_query("SELECT Employee_ID FROM Employee"); 
    while ($row = mysql_fetch_row($result)) { 
     echo "<option value=$row[0]>$row[0]</option>"; 
    } 
?> 
</select> 

然後,您將需要實現一些AJAX以填充文本框與僱員的名字。您可以通過編寫一些處理下拉列表的onChange事件的Javascript來完成此操作。這個Javascript然後需要發送一個請求到一個PHP頁面,以獲得對應的First_NameLast_Name對於特定的Employee_ID

+0

對不起,作爲一個新手我很高興與你說的話混淆。你剛發給我的代碼,我應該在哪裏插入它?我希望在那裏有一個員工ID的下拉框,我可以訪問存儲在數據庫中的IDS,感謝您的幫助 – user2108411 2013-02-27 18:54:13

+0

上述代碼應該放在您的表單中以替換您的Employee_ID文本框。 – 2013-02-27 18:55:54

+0

由於某種原因它不起作用。一個下拉框形成,但它非常小,並且從下拉框中沒有任何選項出現 – user2108411 2013-02-27 23:45:19

相關問題