В настоящее время я работаю над формой редактирования с выпадающим списком. У меня есть форма редактирования, отображающая текущий элемент из базы данных. Но я понятия не имею, как мое выпадающее меню отображает текущее значение из базы данных, которое соответствует выпадающему списку. Я знаю, что мое объяснение немного смущает, поэтому на картинке ниже показано лучшее объяснение.
Это одна из моих форм редактирования, показывающая выпадающее меню. Я хочу отображать значение базы данных с этим видом выпадающего меню.
Пример :
Значение моей базы данных находится в Pending
. Затем он отобразит Pending
внутри этого представления выпадающего меню. И когда я нажимаю на раскрывающееся меню, это покажет мне, как показано ниже:
это то, что я ищу. И ниже – код, который я пробовал.
<div class="floatleft"> <select name="select2" class="select-form-standard" > <option value="0" id="0" name="status">Deleted</option> <option value="1" id="1" name="status">Active</option> <option value="2" id="2" name="status">Pending</option> <option value="2" id="2" name="status">Suspended</option> </select> </div>
Но я просто знаю, как создать выпадающее меню, и у меня нет идеи, как это работает. Я работаю с smarty framework. Может ли кто-нибудь дать мне некоторое решение для работы над этим? Заранее спасибо.
Добавьте selected
атрибут для опции, которая должна быть выбрана. Предположим, что $value = 0
<?php $value = 0; ?> <select name="select2" class="select-form-standard" > <?php foreach($options as $id => $option) { ?> <option value="<?php echo $id ?>"<?php if($id == $value) { echo " selected"; } ?>><?php echo $option ?></option> <?php } ?> </select>
Попробуй это:
$ statusval – переменная, поступающая из вашей базы данных
<option value="0" id="0" <?php if($statusval==0){echo "selected;"}?> name="status">Deleted</option> <option value="1" id="1" <?php if($statusval==1){echo "selected;"}?> name="status">Active</option> <option value="2" id="2" <?php if($statusval==2){echo "selected;"}?> name="status">Pending</option> <option value="2" id="2" <?php if($statusval==3){echo "selected;"}?> name="status">Suspended</option>
<?php $databaseValue = $your_database_value; ?> <select name="select2" class="select-form-standard" > <option value="0" <?php echo (($databaseValue==0)?"selected":"") ?> id="0">Deleted</option> <option value="1" <?php echo (($databaseValue==1)?"selected":"") ?> id="1">Active</option> <option value="2" <?php echo (($databaseValue==2)?"selected":"") ?> id="2">Pending</option> <option value="3" <?php echo (($databaseValue==3)?"selected":"") ?> id="3">Suspended</option> </select>
Попробуй это
/** * Takes To values (First for option value Second for value to be compare) * @param Srting $option stores Option Value String * @param String $value Stores to be compare * @return String * @access public */ function selectBoxSelection($option, $value) { if ($option == $value) { return "selected"; } } <select name="status"> <option value style='display:none;'>-SELECT Status--</option> $select_data=mysql_query("Select status,options from yourtable"); while($result=mysql_fetch_array($select_data)){ echo "<option value ='YourValue' ".selectBoxSelection('YourOptionValue', $result['status']).">".$resule['option']."</option>"; } </select>
в/** * Takes To values (First for option value Second for value to be compare) * @param Srting $option stores Option Value String * @param String $value Stores to be compare * @return String * @access public */ function selectBoxSelection($option, $value) { if ($option == $value) { return "selected"; } } <select name="status"> <option value style='display:none;'>-SELECT Status--</option> $select_data=mysql_query("Select status,options from yourtable"); while($result=mysql_fetch_array($select_data)){ echo "<option value ='YourValue' ".selectBoxSelection('YourOptionValue', $result['status']).">".$resule['option']."</option>"; } </select>
Вам нужно добавить атрибут «selected» к параметру, который вы хотите предварительно выбрать:
<option value="2" id="2" name="status" selected>Pending</option>
или если вы используете xhtml, вам нужно будет использовать
selected="selected"
Чтобы эта работа не выполнялась в базе данных, вам нужно будет написать оператор if, чтобы определить, совпадает ли значение базы данных с значением параметра, а если оно есть, затем отбросить «выбранный» атрибут в теге параметра.