2012-01-13 16 views
0

私はサイトの管理メニューを作成しています。それぞれのフィールドごとに作成する必要のあるドロップダウンリストがいくつかあります。これは表示されます(これはphpBBの権限管理パネルと非常に似ています)。言い換えれば、ユーザーが所属できるすべてのグループを一覧表示するテーブルがあり、各行にそのグループのアクセス許可を変更するための選択メニューがあります。私は私の中で、この多くのより多くの時間を実装する必要があるため、私はこれを行うためのより多くのストリームライニング方法を把握しようとしているMySQLデータベースから選択したデフォルトでPHPで選択メニューを作成

function rfiPermissions($x){ 
$query = "SELECT rfi_permission FROM groups WHERE id = '$x'"; 
$result = mysql_query($query) or die(); 
$row = mysql_fetch_array($result); 
$perm = $row[0]; 
$option = array(); 
$option[0] = "<option value='0'>None</option>"; 
$option[1] = "<option value='1'>Basic</option>"; 
$option[2] = "<option value='2'>Supplemental</option>"; 
$option[3] = "<option value='3'>Full</option>"; 
switch($perm){ 
    case 0: 
     echo $option[0].$option[1].$option[2].$option[3]; 
     break; 
    case 1: 
     echo $option[1].$option[0].$option[2].$option[3]; 
     break; 
    case 2: 
     echo $option[2].$option[1].$option[0].$option[3]; 
     break; 
    default: 
     echo $option[3].$option[1].$option[0].$option[2]; 
     break; 
} 
} 

:私は現在、このようになり、メニューの各異なるセットするための機能を使用しています私はそうすることができませんでした。オプションを関数に渡す必要がある配列を渡してから、dbの値をエコーし​​て配列から取り除き、残りのオプションをエコーするという方法がありますか?

答えて

1

phpで選択した属性を設定する方が、順序を変更する方が簡単です。さらに、ユーザーとしては一貫性が好きで、ドロップダウンを見て、それを見て毎回変わってしまえば、私はイライラします。

$option[0] = "<option value='0' ".($perm==0 ? " selected " : "") .">None</option>"; 
$option[1] = "<option value='1' ".($perm==1 ? " selected " : "") .">Basic</option>"; 
$option[2] = "<option value='2' ".($perm==2 ? " selected " : "") .">Supplemental</option>"; 
$option[3] = "<option value='3' ".($perm==3 ? " selected " : "") .">Full</option>"; 

これはif short handで行われ、可読性

+0

感謝のために拡張することができます!素晴らしい仕事を! – Ethan