爲了給出一些上下文,下面的下拉列表在一個表格中,該表格給出了存儲在數據庫中的動物的當前配置描述:即,這個小馬是高的,這個性別,由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