Значение параметра выбрано для цикла

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

vraagNummer а также answer приведены в параметре url, а выпадающее меню элементов, доступных в списке, создается в цикле for.
Теперь я застрял в этой части. Как мне создать выбранное значение параметра, если оно создано в цикле for?

Обычно я бы просто положить в option value = $vraagNummer selected> <?php echo $vraagNummer ?></option но в этом случае это не сработает. Я полагаю?

Кто-нибудь знает, как это исправить?
То же самое с A / B / C / D. Как мне поставить выбранное значение answer в значение, ранее выбранное, при этом оставляя другие в качестве опции.

С наилучшими пожеланиями,

if(!empty($_GET['vraagnummer'])){
$vraagNummer = $_GET['vraagnummer'];
if(!empty($_GET['answer'])){
$answer = $_GET['answer'];
}
}
echo $vraagNummer;
echo $answer;
?>

<form id="start" method="post" action="index.php?test=true">
<select name="question">
<?php
for($i= 1; $i < $nRows+1 ; $i++){
?><option value="<?php echo $i ?>">Question <?php echo $i?></option>
<?php
}
?>
</select>
<select name="result">
<option value="A">Answer A</option>
<option value="B">Answer B</option>
<option value="C">Answer C</option>
<option value="D">Answer D</option>

<input type="submit" id="submit" value="Submit" />
</form>

2

Решение

Вы просто тестируете $_GET['question'] против течения $i значение в цикле с использованием троичного, если

<form id="start" method="post" action="index.php?test=true">
<select name="question">
<?php
for($i= 1; $i < $nRows+1 ; $i++){
$sel = (isset($_GET['question']) && $_GET['question'] == $i) ? 'selected="selected"' : '';
echo '<option ' . $sel . ' value="' . $i .">Question ' . $i . '</option>';
}
?>
</select>

Предупреждение:

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

На самом деле я бы сделал ваш другой выпадающий, как это

<select name="result">
foreach (range('A', 'D') as $char) {
$sel = (isset($_GET['result']) && $char == $_GET['result']) ? 'selected="selected"' : '';
echo "<option $sel value='$char'>Answer $char</option>";
}
</select>
3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]