Получить значение выпадающего меню из базы данных - PullRequest
0 голосов
/ 29 августа 2018

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

    <select class="form-control" id="category" name="category" required >
                <option value="">Select</option>
                <?
                $category= $rs2->fields['category'];                    
                ?>  
                <option value="1" <? if($category== $rs2->fields['category']) { echo 'selected="selected"'; } ?>> PHP </option>
                <option value="2" <? if($category== $rs2->fields['category']) { echo 'selected="selected"'; } ?>> JAVA </option>
                <option value="3" <? if($category== $rs2->fields['category']) { echo 'selected="selected"'; } ?>> C++ </option>
                <option value="4" <? if($category== $rs2->fields['category']) { echo 'selected="selected"'; } ?>> WordPress </option>
</select>

Если тип категории равен 3 в базе данных, то при загрузке страницы выбранное значение должно быть C ++.

Ответы [ 2 ]

0 голосов
/ 29 августа 2018

Это может решить вашу проблему. Вам нужно проверить значение опции с категорией.

<option value="1" <? if($category== 1) { echo 'selected="selected"'; } ?>> PHP </option>
                    <option value="2" <? if($category== 2) { echo 'selected="selected"'; } ?>> JAVA </option>
                    <option value="3" <? if($category== 3) { echo 'selected="selected"'; } ?>> C++ </option>
                    <option value="4" <? if($category== 4) { echo 'selected="selected"'; } ?>> WordPress </option>
0 голосов
/ 29 августа 2018

Вы забыли на самом деле упомянуть, что идет не так, но ваш код выглядит круглым / тавтологичным.

Вы пишете

$category= $rs2->fields['category']

с последующим

if($category== $rs2->fields['category'])

Конечно, результат этого оператора if всегда будет истинным, потому что в строке справа над вами две переменные имеют одинаковое значение, присваивая значение одной другой другой!

Я думаю, вам нужно написать

if($rs2->fields['category'] == 1) 

в первой строке, а затем заменить 1 на 2 во второй строке и т. Д.? Таким образом вы проверяете значение поля БД по отношению к значению опции.

Полный образец:

<select class="form-control" id="category" name="category" required >
  <option value="">Select</option>    
  <option value="1" <? if($rs2->fields['category'] == 1) { echo 'selected="selected"'; } ?>> PHP </option>
  <option value="2" <? if($rs2->fields['category'] == 2) { echo 'selected="selected"'; } ?>> JAVA </option>
  <option value="3" <? if($rs2->fields['category']  == 3) { echo 'selected="selected"'; } ?>> C++ </option>
  <option value="4" <? if($rs2->fields['category'] == 4) { echo 'selected="selected"'; } ?>> WordPress </option>
</select>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...