2017-01-29 25 views
-1
<select name="title"> 

<selected value="<?php echo $title; ?>"><?php echo $title; ?></selected> 
<option value="Mrs">Mrs.</option> 
<option value="Ms">Ms.</option> 
<option value="Mr">Mr.</option> 
<option value="Dr">Dr.</option> 

</select> 

Я пытаюсь прочитать значение из столбца Заголовок в базе данных MySQL, который предполагают, чтобы прочитать значение, будет ли это Г-н., Г-жа, Mrs., а затем сравните его со значениями в раскрывающемся списке. Затем он позволяет пользователю выбрать другой заголовок, а затем обновить тот, который хранится в базе данных MySQL.Чтение значения из MySQL и сравнить, какой вариант выбран из раскрывающегося списка

Я создаю профиль пользователя. Поэтому, когда пользователь регистрируется и перемещается в представление для редактирования профиля, ему должен быть представлен раскрывающийся список, содержащий название, которое он выбрал при регистрации. Затем, если он захочет, они могут изменить заголовок в раскрывающемся списке и нажать кнопку обновления, и теперь он должен обновиться до нового заголовка в базе данных.

ответ

1

Изменить <select> выпадающий список следующим образом,

<select name="title"> 
    <option value="Mrs"<?php if($title == "Mrs"){ echo " selected='selected'"; } ?>>Mrs.</option> 
    <option value="Ms"<?php if($title == "Ms"){ echo " selected='selected'"; } ?>>Ms.</option> 
    <option value="Mr"<?php if($title == "Mr"){ echo " selected='selected'"; } ?>>Mr.</option> 
    <option value="Dr"<?php if($title == "Dr"){ echo " selected='selected'"; } ?>>Dr.</option> 
</select> 
+0

Большое спасибо –

1

Там нет выбран HTML тегов. Используйте выбранный атрибут option тега:

выбран

Если присутствует, этот логический атрибут указывает на то, что опция изначально выбран. Если элемент < option является потомком элемента <select>, атрибут multiple не установлен, только один параметр < этого элемента <select> может иметь выбранный атрибут. 1

Так считают этот пример из Examples секции the Mozilla Developer Network page for <select>:

<!-- The second value will be selected initially --> 
 
    <select name="select"> 
 
     <option value="value1">Value 1</option> 
 
     <option value="value2" selected>Value 2</option> 
 
     <option value="value3">Value 3</option> 
 
    </select>

Ваш пример кода может быть обновлена ​​аналогичным образом:

<select name="title"> 
    <option value="Mrs" <?php if($title=="Mrs"){ echo "selected"; } ?>>Mrs.</option> 
    <option value="Ms" <?php if($title=="Ms"){ echo "selected"; } ?>>Ms.</option> 
    <option value="Mr" <?php if($title=="Mr"){ echo "selected"; } ?>>Mr.</option> 
    <option value="Dr" <?php if($title =="Dr"){ echo "selected"; } ?>>Dr.</option> 
</select> 

Более простой способ сделать это будет обрабатывать имена первых, с помощью array_reduce():

<?php 
$title = 'Dr'; 
$names = array('Mrs','Ms','Mr','Dr'); 
$options = array_reduce($names,function($carry,$name) use ($title) { 
    return $carry .= '<option value="'.$name.'"'.($title == $name?' selected':'').'>'.$name.'.</option>'; 
}); 
?> 
<select name="title"> 
    <?php echo $options;?> 
</select> 

в действии в this playground example.


https://developer.mozilla.org/en-US/docs/Web/HTML/Element/option

+0

Спасибо за помощь действительно ценю это пожалуйста, вы можете upvote мой вопрос –

+0

Названное для upvote управления является «_this вопрос показывает усилие исследования, это полезно и ясно _ "... ваш вопрос на самом деле не показывает много исследований и может быть более кратким. Вы можете узнать больше о повышении [здесь] (http://stackoverflow.com/help/privileges/vote-up). –

 Смежные вопросы

  • Нет связанных вопросов^_^