параметр, уже выбранный при загрузке страницы в выпадающем списке, а также changeble

Возможный дубликат:
PHP – PRE-select drop down option

У меня есть ситуация в моем проекте php, где пользователь может редактировать свою учетную запись.

В редактировании есть поле города, которое является выпадающим списком городов.

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

Также он может изменить свой город, выбрав выпадающий список.

Код HTML:

<div class="search_bar1_txt">State:</div> <div class="search_bar1"> <select class="styled" name="state_trainer"> <option>-select-</option> <option>washington</option> <option>perth</option> <option>delhi</option> <option>london</option> </select></div> </div> 

при редактировании я использую этот код для извлечения текущих данных (города) пользователя:

 <?php if(isset($_GET['userid'])) { $sql = "select city from `wp_pelleresuser` where userId =".$_GET['userid']; $result = mysql_query($sql); $value = mysql_fetch_assoc($result); }?> 

скажите, пожалуйста, как я могу выбрать уже выбранный вариант, который извлекается из базы данных.

А также это изменчиво.

Вы можете сделать это несколькими способами, самый простой (и, вероятно, наименее элегантный) – это сделать вот что:

 <select class="styled" name="state_trainer"> <?php $myCity='london'; // assumed to be data from database... echo '<option'.($myCity=='-select-') ? ' selected ' : ' ' .'-select-</option>'; echo '<option'.($myCity=='washington') ? ' selected ' : ' ' .'washington</option>'; ?> 

Это, конечно, ужасно.

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

Если вы создаете массив данных для создания раскрывающегося списка (например), проверьте его прямо там и тогда. Если город соответствует тому, что вы хотите, сделайте это внутри своей петли с места в карьер.

 $usersCity="london"; $myCityList=array(); while( ... ) // Database loop that is pulling the data from the database. { $selected=''; if($userCity==$row['city']) { $selected=' selected '; } $myCityList[]='<option'.$selected.'>'.$row['city'].'</option>'; } 

Затем, чтобы отобразить выпадающий список, вы можете просто сделать это:

 $cityCount=count($myCityList); for($i=0;$i<$cityCount;$i++) { echo $myCityList[$i].'\n'; } 

Город пользователей уже будет выбран.

 <div class="search_bar1_txt">State:</div> <div class="search_bar1"> <select class="styled" name="state_trainer"> <option <?if($value['city']=='-select-') echo "selected";?>>-select-</option> <option <?if($value['city']=='washington') echo "selected";?>>washington</option> <option <?if($value['city']=='perth') echo "selected";?>>perth</option> <option <?if($value['city']=='delhi') echo "selected";?>>delhi</option> <option <?if($value['city']=='london') echo "selected";?>>london</option> </select> </div> </div> 

Я не уверен, что это понятно, но вы можете поместить код внутри каждой ячейки параметров следующим образом:

 <option <?php if($value['city'] == "washington") echo "selected=selected"; ?> >washington</option> 

Таким образом, вы можете получить то, что хотите. И лучше использовать функцию mysqli для взаимодействия с базами данных.

 <option <?php if ($value['city'] == delhi) { echo "selected = true"; } ?> >delhi </option> 

Просто выберите выбранную форму db как

 $choosen = $some value form db 

затем $ options = array (1 => 'data1', 2 => 'data2', 3 => 'data3'); foreach ($ options as $ key => $ value) {echo ''. $ value. ''; }

чтобы получить свой поле выбора в php.I thnk, вы понимаете, это работает для меня