У меня есть PHP-форма, которую я использую для редактирования записи в базе данных MySQL, и у нее есть выпадающий список значений. Я хотел бы установить параметр, который хранится в базе данных, как первый в списке, так что если пользователь не хочет изменять этот параметр, тогда база данных не будет перезаписана по умолчанию
Может ли кто-нибудь предложить действительно простое решение?
Основываясь на комментариях, мне нужна помощь в возможности установить выбранное значение для моего выбора HTML
<select id="inputRegion" name="inputRegion"> <option name="inputRegion" id="inputRegion" value="Scotland">Scotland</option> <option name="inputRegion" id="inputRegion" value="North West">North West</option> <option name="inputRegion" id="inputRegion" value="North East">North East</option> <option name="inputRegion" id="inputRegion" value="Yorkshire and Humberside">Yorkshire & Humberside</option> <option name="inputRegion" id="inputRegion" value="East Midlands">East Midlands</option> <option name="inputRegion" id="inputRegion" value="East Anglia">East Anglia</option> <option name="inputRegion" id="inputRegion" value="London">London</option> <option name="inputRegion" id="inputRegion" value="South East">South East</option> <option name="inputRegion" id="inputRegion" value="South West">South West</option> <option name="inputRegion" id="inputRegion" value="Wales">Wales</option> <option name="inputRegion" id="inputRegion" value="West Midlands">West Midlands</option> <option name="inputRegion" id="inputRegion" value="Northern Ireland">Northern Ireland</option> </select>
Мой php исходит из запроса, а затем может использовать область текущей записи;
<?php echo $contact['Region']; ?>
Если это небольшое выпадающее меню, это быстро и просто
<label>Type: </label> <?php if(isset($item->type_id)) $tid = $item->type_id; else $tid = 1; // Set this to your preferred default ?> <select name="type"> <option value="1" <?php if($tid == 1) echo ' selected' ?>>Type 1</option> <option value="2" <?php if($tid == 2) echo ' selected' ?>>Type 2</option> <option value="3" <?php if($tid == 3) echo ' selected' ?>>Type 3</option> </select>
Если это более крупное раскрывающееся меню, напишите функцию php для создания раскрывающегося списка с использованием итеративного подхода
EDIT * это правильно, поскольку теперь он по умолчанию равен $ tid
<?php if(isset($contact['Region'])) $tid = $contact['Region']; else $tid = 'South East'; // Set this to your preferred default ?> <select id="inputRegion" name="inputRegion"> <option name="inputRegion" id="inputRegion" value="Scotland" <?php if($tid == 'Scotland') echo ' selected' ?>>Scotland</option> <option name="inputRegion" id="inputRegion" value="North West" <?php if($tid == 'North West') echo ' selected' ?>>North West</option> <option name="inputRegion" id="inputRegion" value="North East" <?php if($tid == 'North East') echo ' selected' ?>>North East</option> <option name="inputRegion" id="inputRegion" value="Yorkshire and Humberside" <?php if($tid == 'Yorkshire and Humberside"') echo ' selected' ?>>Yorkshire & Humberside</option> <option name="inputRegion" id="inputRegion" value="East Midlands" <?php if($tid == 'East Midlands') echo ' selected' ?>>East Midlands</option> <option name="inputRegion" id="inputRegion" value="East Anglia" <?php if($tid == 'East Anglia') echo ' selected' ?>>East Anglia</option> <option name="inputRegion" id="inputRegion" value="London" <?php if($tid == 'London') echo ' selected' ?>>London</option> <option name="inputRegion" id="inputRegion" value="South East" <?php if($tid == 'South East') echo ' selected' ?>>South East</option> <option name="inputRegion" id="inputRegion" value="South West" <?php if($tid == 'South West') echo ' selected' ?>>South West</option> <option name="inputRegion" id="inputRegion" value="Wales" <?php if($tid == 'Wales') echo ' selected' ?>>Wales</option> <option name="inputRegion" id="inputRegion" value="West Midlands" <?php if($tid == 'West Midlands') echo ' selected' ?>>West Midlands</option> <option name="inputRegion" id="inputRegion" value="Northern Ireland" <?php if($tid == 'Northern Ireland') echo ' selected' ?>>Northern Ireland</option> </select>
Вы можете использовать
while($row = mysql_fetch_assoc($result)){ $selected = ""; if($row['id'] == $curValue){ $selected = "selected=\"selected\""; } echo "<option value=\"{$row['id']}\" $selected>{$row['name']}</option> }
После того, как вы обновили свой вопрос, кажется, что ответ MattP лучше подходит для вашей ситуации.