我想提前感谢你抽出时间帮助我,因为我真的被卡住了。
我有两张桌子。员工(Employee_ID,First_name,Last_name,Address等)和培训(Training_ID,Employee_ID,First_name,Last_name,Training_type)。
对于培训表,我有一份表格,填写表格,为员工分配培训类型。
在我的表单中我想要的是有一个名为select employee_ID的下拉框,其中employee表中有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 :(得分: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,以便用Employee的名称填充文本框。您可以通过编写一些处理下拉列表的onChange
事件的Javascript来完成此操作。然后,此Javascript将需要向PHP页面发送请求以获取特定First_Name
的相应Last_Name
和Employee_ID
。