#php #mysql
#php #mysql
Вопрос:
Я хотел бы выделить опцию в списке выбора на основе результата базы данных, а также аналогичным образом проверить переключатель.
Я видел много примеров, которые идут другим путем (т. Е. Отправляют выбранный пользователем параметр в БД — я сделал это, конечно, без проблем), но возможно ли сделать наоборот?
Список выбора уже создан и работает. У меня также есть 2 переключателя, только для yes и no. Опять же, выбранный переключатель отправляет результат в БД без проблем (значения равны 1 или 0).
Итак … скажем, что пользователь выбрал ‘Norfolk’ из списка опций и это хранится в БД. Я хотел бы получить это, а затем сделать ‘Norfolk’ выделенным параметром, когда он вернется в форму (скажем, для обновления своих данных)
Ответ №1:
Я думал, что это должно быть просто, и это было (как и я! 😉 ) Это сработало, поэтому я опубликую его на случай, если кто-то еще застрял на чем-то подобном…
<option selected="<?php echo $myregion; ?>"><?php echo $myregion;?></option>
…и это все! Однако спасибо всем, кто помог.
Ответ №2:
Для поля выбора
<select name=test id=test>
<option value=1 <?php if ($c["test"]=="1") {echo " selected "; } ?>>1
<option value=2 <?php if ($c["test"]=="2") {echo " selected "; } ?>>2
<option value=3 <?php if ($c["test"]=="3") {echo " selected "; } ?>>3
</select>
Для переключателя
<input type="radio" name="gender" value="male" <?php if ($c["gender"]=="male") {echo " checked "; } ?>>
<br>
<input type="radio" name="gender" value="female" <?php if ($c["gender"]=="female") {echo " checked "; } ?>>
[Альтернативное решение]: вы можете использовать следующее, чтобы установить выбранный параметр / радио, используя функции selectElement
и setradio
:
<form name="formx">
<select name=test id=test>
<option value=1 >1
<option value=2 >2
<option value=3 >3
</select>
<br><br>
<input type=radio name=test2 value="A">A
<br><br>
<input type=radio name=test2 value="B">B
</form>
<script>
function selectElement(id, valueToSelect) {
let element = document.getElementById(id);
element.value = valueToSelect;
}
function setradio(xname,var2) {
var radios = document.formx.elements[xname];
index=0;
while (index < radios.length) {
if (radios[index].value == var2) {
radios[index].checked=true;
}index ;
}}
selectElement("test","2");
setradio("test2","B");
</script>
Комментарии:
1. Привет, Кен, большое спасибо, это отлично! -Или будет, когда я попробую это 😉 Моя единственная проблема сейчас в том, что существует много <options> … каждый из них является британским округом!
2. Ах, я так и думал, что это будет проблемой! Дело в том, что у меня есть (длинный!) Предварительно написанный список опций, и просто непрактично добавлять все эти операторы к каждому из них! Разве я не могу просто сделать это (с ‘variablefromdatabase’ в качестве возвращаемой строки) … <select name= «выбранные округа»=<?php echo $variablefrom database;> <option>… </option> …
3. Привет, пожалуйста, посмотрите «Альтернативное решение» в моем ответе