2014-04-02 66 views
-1

我需要做一個下拉菜單,默認爲通過表單傳入的帳戶類型。下拉菜單與表單數據

我知道我可以將'selected'作爲選項屬性,使該選項成爲默認選項。

但我並不總是知道這個類型是什麼,所以我怎麼會讓它默認匹配類型。

這裏是我的代碼:

<?php 
$type=$_POST['Type']; 
echo "<select name='AccType'> 
<option>User Type</option> 
<option value='admin'>Administrator</option> 
<option value='ban'>Banned</option> 
<option value='mod'>Moderator</option> 
<option value='new'>New User</option> 
<option value='spec'>Special</option> 
</select>"; 
?> 

所以說,例如,主持人組的帳戶正在被編輯,因此「國防部」的類型是由形式傳遞英寸

我希望頁面默認情況下在菜單中顯示「主持人」,使用戶不必選擇它,以確保該帳戶停留作爲主持人的情況下,他們提交不檢查。

這只是PHP和HTML的可能嗎?

回答

0

你可以做這樣的事情:使所有的選項值和文本的數組:

$options = array('admin' => "Administrator", 'ban' => "Banned", 'mod' => "Moderator", 'new' => "New User", 'spec' => "Special"); 

每個鍵對應一個option value,數組中的每個值對應於顯示給用戶的文本。

然後,您將首先顯示$_POST變量中正在提交的option

<?php 
$type = $_POST['type']; 
echo "<select name='AccType'>"; 
echo "<option disabled>User Type</option>"; // note disabled attribute. 
if(array_key_exists($type)) { 
    echo "<option value='$type' selected>$options[$type]</option>"; 
} 

// echo the rest of the fields. 
for($options as $value => $text) { 
    if(strcmp($value, $type) !== 0) { 
     echo "<option value='$value'>$text</option>"; 
    } 
} 

echo "</select>"; 
?> 
0

嘗試這個 -

<?php 
$type=$_POST['Type']; 
$data=array(
'admin'=>'Administrator', 
'ban'=>'Banned', 
'mod'=>'Moderator', 
'new'=>'New User', 
'spec'=>'Special', 
); 

echo "<select name='AccType'>"; 
echo "<option value='.$type.' selected='selected' >.$data[$type].</option>"; 
foreach($data as $key=>$val) 
{ 
if($key!=$type) 
{ 
echo "<option value='.$key.'>.$val.</option>"; 
} 
} 


echo "</select>"; 
?>