2014-12-15 2 views
-2

Я пытаюсь создать форму, в которую вы можете вставлять пользователей, а также редактировать пользователей. По умолчанию для формы добавляются пользователи (include 'insertuserform.php';). Под формой таблица печатается [1] с возможностью редактирования пользователя (путем ссылки index.php?uid=".$row['uid']."&cmd=edit), где оператор if говорит, что если uid установлен, а cmd установлен в , то редактируйте, после чего отобразится редактируемая пользовательская форма (include 'edituserform.php';).) (иначе вы можете добавить форму пользователя).Автозаполнение форм из базы данных MySQL

Для выбора отдела для пользователя существует раскрывающееся меню в форме добавления пользователя, которая отображает название отдела, но сохраняет идентификатор отдела, а две таблицы связаны [2].

При использовании редактируемой пользовательской формы я пытаюсь автоматически заполнить поля текущими данными. Для этого я использую запрос SELECT * FROM users WHERE uid={$_GET['uid']}, а затем повторяю форму с value='".$row['name']." внутри тега ввода (очевидно, меняя имя в зависимости от того, какое поле).

Как мне сделать что-то подобное для раскрывающегося меню отделов? Я пробовал autofocus='".$row['departmentid']."', но он просто устанавливает его для первого варианта для всех пользователей.

Прошу прощения, если это не имеет смысла, и я могу предоставить дополнительную информацию, если это необходимо.

tl; dr Как автоматически присваивать значение выпадающему меню выбора из базы данных MySQL?

Users Table Departments Table

+0

Извинения приняты. – Strawberry

ответ

2

Вы должны добавить это ваш выбор, если вы хотите быть автоотобран: выбрано = "выбрано"

Например:

foreach ($items as $item) { 
    echo "<option value=".$item["departmentid"]." ".($row["departmentid"] == $item["departmentid"] ? "selected=\"selected\"" : "").">".$item["departmentname"]."</option>"; 
} 

Мы предположим, что «$ items» является результатом «select * from department».

+0

Он использует массивы вместо объектов. Можете изменить свой код. – Mysteryos

+0

Да, спасибо! Я отредактировал его. – DooKie

1

Вы должны добавить проверку каждого элемента в своем.

Попробуйте это:

<option value="<?= $department['departmentid']; ?>" <?php if($row['departmentid'] == $department['departmentid']) { echo " selected" } ?>><?= $department['departmentname']; ?></option> 
Смежные вопросы