Создание меню выбора в PHP с выбором по умолчанию из MySQL DB

0

Я создаю административное меню для сайта, и у меня есть несколько выпадающих списков, которые необходимо создать для каждого другого поля, причем выбранная по умолчанию опция отличается для каждой отображаемой записи (это очень похоже на идею admin панель в phpBB). Другими словами, у меня есть таблица, в которой перечислены все группы, к которым может принадлежать пользователь, и в каждой строке есть выбранные меню для изменения разрешений этой группы. В настоящее время я использую функции для каждого набора различных меню, которые выглядят следующим образом:

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 ответ

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>";

Это делается в если короткая рука и может быть расширена для удобства чтения

  • 0
    Спасибо! Работал отлично!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню