このようなものですか?
<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>
これにより、2つのドロップダウンメニューが表示され、最初のドロップダウンにはユーザーの姓と名がコンマとスペースで区切られて一覧表示され、2番目のドロップダウンにはさまざまな種類のトレーニングが一覧表示されます。提出されたIDは変数を介してのみ送信され、ユーザーには表示されません。
pulldown1の変数から値をプルするときは、explodeを使用してください:
$userdetails = $_POST['pulldown1'];
$values = explode(" " $userdetails);
$ID = $values[0];
$lastname = $values[1];
$firstname = $values[2];
コードをテストしていないため、微調整が必要になる可能性があります。もちろん、実際のデータベースの行名に対応する変数名を変更する必要があります。
編集:コードでは、$row2ではなく$rowを使用する必要があります。
次に、これの代わりに:
<option value='{$id}'>{$lastname},{$firstname}</option>
これを使用してください:
<option value="' . $row['id'] . '">' . $row['lastname'] . ', ' . $row['firstname'] . '</option>