【问题标题】:retrieve and display data, from table stored in database, into a form (using foreign key).从存储在数据库中的表中检索数据并将其显示为表单(使用外键)。
【发布时间】:2013-02-11 00:18:30
【问题描述】:

我有两张表,如下所示:

员工 -(员工 ID、名字、姓氏、地址、ETC) 培训 -(training_ID、Employee_ID、First_name、Last_name、Training)

员工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);
?>

提前致谢,如果我的代码显示不好,请见谅。

【问题讨论】:

    标签: php html mysql phpmyadmin foreign-keys


    【解决方案1】:

    如果您想使用下拉列表更新文本字段(名字、姓氏),则需要使用 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>
    

    【讨论】:

    猜你喜欢
    • 2014-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-02
    • 2012-06-11
    • 1970-01-01
    • 2013-04-25
    相关资源
    最近更新 更多