为循环选择的选项值

Option value selected for loop

我正在尝试为之前的输出创建一个 selected 值。 (用户填写表单,提交,returns到表单)我希望选择的值是用户之前使用的值。

vraagNummeranswer 在 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>

您只需使用三元 if

在循环中针对当前 $i 值测试 $_GET['question']
<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>

Warning:

Also be careful with the use of empty() when the variables can contain a zero as zero is considered as empty by the empty() function

实际上我会像这样做你的其他下拉菜单

<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>