For循环多项PHP

For loop multiple items PHP

我想用 for 循环输出问题编号 (vraag),以便它从数据库中获取 5 个元素(从 1 到 5)。 然后我想从用户输入中得到答案(A/B/C/D)

根据用户输入的题号从数据库中获取答案值。

问题是,它只输出第一个元素,其余输出为空。

附上一张数据库信息图片。Database

for($i = 1; $i < 6; $i++){
            $vraag = $i;
            $answer = '$answer'.$i;
            $answerNumber = $_POST['question-'.$i.'-answers'];
            $query = $db->prepare("SELECT * FROM vraag WHERE vraagnummer = :VRAAG AND antwoord = :ANTWOORD");
            $query->bindparam(":VRAAG",$vraag);
            $query->bindparam(":ANTWOORD",$answerNumber);
            $query->execute();
            $has_author = $query->fetch();

            $VN = $has_author['vraagnummer'];
            $A = $has_author['antwoord'];
            $PA = $has_author['puntenA'];
            $PB = $has_author['puntenB'];
            $PC = $has_author['puntenC'];
            $PD = $has_author['puntenD'];
            echo $VN;
            echo $A;
            echo '<br />';
            echo '<br />';
            echo 'A'.$PA.'<br />';
            echo 'B'.$PB.'<br />';
            echo 'C'.$PC.'<br />';
            echo 'D'.$PD.'<br />';
        }

要显示数据库的全部结果,您需要使用 while loop as

while ($has_author = $query->fetch()) {
    $VN = $has_author['vraagnummer'];
    $A = $has_author['antwoord'];
    $PA = $has_author['puntenA'];
    $PB = $has_author['puntenB'];
    $PC = $has_author['puntenC'];
    $PD = $has_author['puntenD'];
    echo $VN;
    echo $A;
    echo '<br />';
    echo '<br />';
    echo 'A' . $PA . '<br />';
    echo 'B' . $PB . '<br />';
    echo 'C' . $PC . '<br />';
    echo 'D' . $PD . '<br />';
}