为了给出一些上下文,以下下拉列表位于一个表格中,该表格给出了存储在数据库中的动物的当前配置文件描述:即,这匹小马很高,属于这种性别,由 somesuch 拥有,等等。该表格的目的是编辑这些当前值。有各种选项可以自由地被过度使用,其他我希望选择仅限于下拉菜单中的选项。
以下是我用于 Gender 字段的当前代码,尽管它确实有效,但它不是正确的做事方式。我会对查询当前状态,将当前状态作为默认选项,存储当前状态,查询不等于存储的当前状态的其他可用状态,然后将剩余状态作为选项的方法更感兴趣。这是我最能适应表单上所有其他下拉菜单的方法。
引用了两个表 - profile tbl 和 prm_breedgender tbl。每个性别都有一个 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>
任何帮助将不胜感激。我不是所有的经验(显然!)所以随附的解释会很棒。