2014-04-02 2 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

당신이 뭔가를 할 수 있습니다 : 모든 옵션 값과 텍스트의 배열 확인하십시오 option value

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

각 키에 대응을하고, 배열의 각 값은 사용자에게 표시되는 텍스트에 해당 .

그런 다음 $_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

this-

<?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>"; 
?> 
시도