いくつかのコンテキストを示すために、次のドロップダウンは、データベースに保存されている動物の現在のプロファイルの説明を提供するフォーム内にあります。つまり、このポニーは背が高く、この性別で、誰かが所有しているなどです。フォームの目的はこれらの現在の値を編集します。自由に上書きできるさまざまなオプションがあり、ドロップダウンメニューからのオプションに限定して選択したいものもあります。
以下は、私が Gender フィールドに使用している現在のコードです。これは機能しますが、適切な方法ではありません。現在の状態を照会し、現在の状態をデフォルトのオプションとして指定し、現在の状態を保存し、保存されている現在の状態と等しくない他の使用可能な状態を照会し、残りの状態をオプションとして与えるメソッドにもっと興味があります。フォームの他のすべてのドロップダウンに最もよく適応できるのはその方法です。
プロファイル tbl と prm_breedgender tbl の 2 つのテーブルが参照されます。各性別には ID が与えられ、各プロファイルには性別を示す対応する ID が与えられます (男性 = 1、女性 = 2 など)。$profile 変数は、現在見ているプロファイルを示す変数です。
<label for="profile-gender">Gender / Type:</label>
<select name="profile-gender">
<?php
$genderresult = mysql_query("SELECT prm_breedgender.BreedGender
FROM profiles, prm_breedgender
WHERE ProfileID = $profile
AND prm_breedgender.BreedGenderID = profiles.ProfileGenderID");
$row = mysql_fetch_array($genderresult);
echo '<option value="' . $row['BreedGenderID'] . '">' . $row[BreedGender] . '</option>';
$exgenderresult = mysql_query("SELECT prm_breedgender.BreedGender
FROM profiles, prm_breedgender
WHERE ProfileID = $profile
AND prm_breedgender.BreedGenderID != profiles.ProfileGenderID");
while ($row = mysql_fetch_array($exgenderresult)) {
echo '<option value="' . $row['BreedGenderID'] . '">' . $row[BreedGender] . '</option>';
}
?>
</select>
どんな助けでも大歓迎です。私はその経験がすべてではないので(明らかに!)、付随する説明は素晴らしいでしょう。