为了给出一些上下文,下面的下拉列表在一个表格中,该表格给出了存储在数据库中的动物的当前配置描述:即,这个小马是高的,这个性别,由somesuch拥有等等。表单的目的是编辑这些当前值。有各种可以自由夸大的选项,其他的我可以选择的选项仅限于下拉菜单中的选项。运行一个MySQL查询,存储一个临时值,然后运行另一个查询
以下是我用于性别字段的当前代码,尽管它确实有效,但它不能成为正确的做事方式。我会对查询当前状态,将当前状态作为默认选项,存储当前状态,查询其他可用状态不等于存储的当前状态,然后将其余状态作为选项进行查询的方法更感兴趣。正是这种方法可以最好地适应表格上的所有其他下拉菜单。
有两个表引用 - 配置文件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>
任何帮助将不胜感激。我并不是那么有经验(显然!),所以伴随的解释会非常棒。
多数民众赞成在辉煌!我不知道ORDER BY子句是这样工作的。非常便利。谢谢你 - 试了一下,并努力:) – Eamonn 2011-05-12 17:10:50
正如旁注 - 是否可以对剩余的值进行排序(例如按字母顺序排列)? – Eamonn 2011-05-12 17:15:19
您可以通过多个字段以不同的asc/desc命令进行订购:'按X asc,Y desc,Z asc'等排序...... – 2011-05-12 17:24:07