0

私は本当に立ち往生しているので、時間を割いて助けてくれてありがとう。

私は2つのテーブルを持っています。従業員 (Employee_ID、First_name、Last_name、Address など) およびトレーニング (Training_ID、Employee_ID、First_name、Last_name、Training_type)。

トレーニング テーブルには、従業員のトレーニング タイプを割り当てるために記入するフォームがあります。

私がフォームに欲しいのは、従業員テーブルのemployee_IDの値を持つselect employee_IDという名前のドロップダウンボックスを持つことです。これはそのテーブルからの外部キーです。

そして、選択が選択されたら、フォームの 2 つのテキスト フィールド、名と姓を更新したいと思います。

これを実行できるコードを実装しようとして多くの問題が発生しています。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>

そして、データをDBに保存する私の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);
?>

上記のように、事前に感謝します。これは私を殺しています。

4

1 に答える 1

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 は、対応するFirst_NameおよびLast_Name特定の を取得するために、PHP ページにリクエストを送信する必要がありますEmployee_ID

于 2013-02-27T18:31:37.053 に答える