Một cái gì đó như thế này?
<select name="pulldown1">
<option value="default">Choose an option</option>
<?php
include("connect.php"); /*file where you have stored your DB conn. settings*/
$result = mysql_query('SELECT id, lastname, firstname FROM spusername ORDER BY firstname ASC') or die (mysql_error());
while ($row = mysql_fetch_array($result)) {
echo '<option value="' . htmlentities($row['id'], ENT_QUOTES) . ' ' . htmlentities($row['lastname'], ENT_QUOTES) . ' ' . htmlentities($row['firstname'], ENT_QUOTES) . '">' . htmlentities($row['lastname'], ENT_QUOTES) . ', ' . htmlentities($row['firstname'], ENT_QUOTES) . '</option>';
}
?>
</select>
<select name="pulldown2">
<option value="default">Choose and option</option>
<?php
$result = mysql_query('SELECT traingtype FROM trainingtable ORDER BY trainingname ASC') or die (mysql_error());
while ($row = mysql_fetch_array($result)) {
echo '<option value="' . $row['trainingtype'] . '">' . $row['trainingtype'] . '" "' . $row['lastname'] . '</option>';
}
?>
</select>
Điều này sẽ dẫn đến hai menu thả xuống trong đó menu thả xuống đầu tiên liệt kê họ và tên người dùng được phân tách bằng dấu phẩy + khoảng trắng và menu thứ hai sẽ liệt kê các loại đào tạo khác nhau. ID được gửi chỉ được gửi qua biến, nhưng không được hiển thị cho người dùng.
Khi kéo các giá trị từ biến trong pulldown1, chỉ cần sử dụng boom:
$userdetails = $_POST['pulldown1'];
$values = explode(" " $userdetails);
$ID = $values[0];
$lastname = $values[1];
$firstname = $values[2];
Chưa kiểm tra mã vì vậy nó có thể cần điều chỉnh và tất nhiên bạn cần thay đổi tên biến tương ứng với tên hàng db thực của bạn.
Chỉnh sửa:Trong mã của bạn, bạn phải sử dụng $ row chứ không phải $ row2.
Thứ hai, thay vì điều này:
<option value='{$id}'>{$lastname},{$firstname}</option>
sử dụng cái này:
<option value="' . $row['id'] . '">' . $row['lastname'] . ', ' . $row['firstname'] . '</option>