我寫了一些PHP代碼,可以讓我創建一個html下拉框,然後選擇應該選擇的值。代碼是:PHP/HTML下拉框代碼問題(選定值)
$role_drop = "<select name='role'>";
$role_drop .= "\r\n<option value='Resident Assistant'>Resident Assistant</option>";
$role_drop .= "\r\n<option value='Community Assistant'>Community Assistant</option>";
$role_drop .= "\r\n<option value='Head RA'>Head RA</option>";
$role_drop .= "\r\n</select>";
$result = mysql_query("SELECT role FROM users");
if (@mysql_num_rows($result)) {
while ([email protected]_fetch_assoc($result)) {
$role = $r["role"];
$role_drop = str_replace(">$role</option>", "selected=\"\" >$role</option>",$role_drop);
echo $role_drop;
}
}
實際上,這段代碼有一堆HTML混入,但這裏是所有的PHP。當我運行它時,它似乎工作。但是,假設查詢返回了4個帶有角色(來自4個用戶)的下拉框,並且我要爲返回的第二個下拉框(使用UPDATE查詢)編輯或選擇一個新角色,然後當頁面刷新時,所有包括和之後我更新的下拉框將顯示他們的選定值作爲我在第二個下拉框中選擇的新的值。
並不是實際數據庫中的值是錯誤的,他們只是顯示錯誤的選定值。下面是第三個下拉框的源代碼,我選擇第二個新值後:
<select name="role">
<option selected="" value="Resident Assistant">Resident Assistant</option>
<option value="Community Assistant">Community Assistant</option>
<option selected="" value="Head RA">Head RA</option>
</select>
所以,似乎它選擇正確的值(居民助理),但其同時選擇「頭RA」 ,這是我改變之前的下拉框。
這很奇怪,我不知道爲什麼會發生這種情況。有任何想法嗎?
謝謝!
工作。你是一個救生員。非常感謝你! – littleK 2009-07-30 14:25:31