从存储在数据库中的表中检索和显示数据到表单(使用外键)。

时间:2013-02-25 18:40:29

标签: php html mysql phpmyadmin foreign-keys

我有两张桌子,如下所示:

员工 - (employee_ID,first_name,Last_name,Address,ETC) 培训 - (training_ID,Employee_ID,First_name,Last_name,培训)

员工ID是培训表中的外键。

我有一张培训表格的表格,供有意进入哪个员工需要接受培训的人使用。

我的培训表格上有没有,我可以为员工字段设置一个下拉框,它会自动更新该员工ID的名字和姓氏?

或者无论如何我可以拥有我的表格,以便员工ID始终使用正确的名字和姓氏。

这是我的表单(html)和php代码,用于将其提交给数据库。

<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]','$_POST[Training]')";


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

mysql_close($con);
?>

如果我的代码显示效果不佳,请提前致谢并表示歉意。

1 个答案:

答案 0 :(得分:0)

如果要使用下拉列表更新文本字段(名字,姓氏),则需要使用ajax。

只需使用下拉列表的onChange事件发出ajax请求,并使用javascript将返回的值设置为文本字段。

对于预先填充的值,您可以执行以下操作:

//code to get data from database

//store the result in an array
$result = mysql_fetch_array($sql);

//change the html in your form
<p>First name: <input type="text" name="First_name" value="<?php if(!empty($result['First_name'])) echo $result['First_name']; ?>"></p>
<p>Last name: <input type="text" name="Last_name" value="<?php if(!empty($result['last_name'])) echo $result['last_name']; ?>"></p>