У меня есть страница редактирования записи, но у меня небольшая проблема с полями, которые отображаются в виде выпадающих списков выбора, которые ссылаются на связанный список значений из базы данных.
У меня есть несколько полей в базе данных с выпадающими списками, но пользователи могут ввести значение, которого нет в списке значений, что является нормальным поведением. Однако у меня возникла проблема с отображением этого в Интернете. Вот код для одного из полей:
<select name="category">
<?php
foreach($categories as $category) {
$selected = "";
if( $category == $record->getField('category') ){
$selected = " selected";
}
$category = htmlspecialchars($category);
?>
<option value="<?php echo $category; ?>"<?php echo $selected; ?>><?php echo $category; ?></option>
<?php
}
?>
</select>
Это хорошо работает, когда значение в поле совпадает с одним из параметров из списка оценщиков. Однако, когда поле пусто или не соответствует, возникает проблема. Если поле пустое, я получаю первый вариант списка значений, появляющийся автоматически - я могу обойти это, добавив пустую опцию, которая подходит.
Если значение в поле не соответствует параметрам списка значений, оно тоже не отображается - я также могу отображать значение вверху перед всеми элементами списка значений, но если значение совпадает с Элемент списка значений будет отображаться дважды: один раз вверху, а затем в его обычной позиции в списке, что тоже не идеально. Мне бы хотелось, чтобы, если значение было членом оценочного списка, оно выбиралось в своей обычной позиции в списке, чего и добивается приведенный выше код.
Кто-нибудь занимался этим сценарием раньше и есть какие-нибудь указатели?
Спасибо,
Стив