2013-02-27 2 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 в таблице employee, это внешний ключ из этой таблицы.

И как только выбор был выбран, я бы хотел, чтобы два текстовых поля обновлялись в форме, имени и фамилии.

У меня возникло много проблем с попыткой реализовать код, который может это сделать, я не знаю, должен ли я добавлять 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); 
?> 

AS i said above THANKS IN ADVANCE, это убивает меня.

ответ

0

Во-первых, я думаю, что у вас есть дублирование данных в вашей базе данных. Поскольку вы используете внешний ключ в таблице обучения, вам не нужно также хранить имя и фамилию сотрудника, так как эта информация находится в таблице Employee. Дублирование данных, как правило, плохое, потому что это может привести к несогласованности в ваших данных.

Чтобы решить вашу проблему, вам сначала необходимо заполнить раскрывающийся список номерами Employee_ID в вашей HTML-форме. Для простоты я рекомендую вам изменить эту страницу на страницу 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 для того, чтобы заполнить текстовые поля с именем сотрудника. Вы можете сделать это, написав Javascript, который обрабатывает событие onChange раскрывающегося списка. Этот Javascript затем должен будет отправить запрос на страницу PHP, чтобы получить соответствующие First_Name и Last_Name для конкретного Employee_ID.

+0

извините, как новичок Я ABIT путают с тем, что вы говорите. код, который вы только что отправили мне, куда его вставить? Я бы хотел, чтобы там было раскрывающееся поле для идентификатора сотрудника, где я смогу получить доступ к IDS, хранящемуся в базе данных, СПАСИБО ЗА ВАШУ ПОМОЩЬ – user2108411

+0

. Вышеприведенный код должен быть в вашей форме, чтобы заменить текстовое поле Employee_ID. –

+0

почему-то не работает. выпадающий блок сформирован, но он очень маленький, и из раскрывающегося списка нет параметров – user2108411

Смежные вопросы