【问题标题】:creating a quiz with php and pdo用 php 和 pdo 创建一个测验
【发布时间】:2020-04-27 19:18:34
【问题描述】:

我为我的网站创建了一个测验,管理员可以登录并更改问题或添加问题等。

对于测验页面,我将信息记录如下:

try {
    $stmt = $db->query('SELECT questionID, question, optionA, optionB, '  
        . ' optionC, optionD FROM quiz WHERE editedBy = "admin" ORDER BY questionID ');
    while($row = $stmt->fetch()){

        echo '<h3>'.$row['question'].'</h3>';
        echo '<ol>';
        echo '<li><input type="radio" name="q1" value = '.$row['optionA'].'/> '.$row['optionA'].'</li>';
        echo '<li><input type="radio" name="q1"  value = '.$row['optionB'].'/> '.$row['optionB'].'</li>';
        echo '<li><input type="radio" name="q1"   value = '.$row['optionC'].'/> '.$row['optionC'].'</li>';
        echo '<li><input type="radio" name="q1" value = '.$row['optionD'].'/> '.$row['optionD'].'</li>';
        echo '</ol>';
    }

} catch(PDOException $e) {
    echo $e->getMessage();
}

显然,目前每个问题的执行方式都将具有值“q1”,所以我想知道有没有办法可以更改它,以便它可能是第一个被删除的问题将具有值 q1单选按钮,第二个问题将具有值 q2 等等。无法找到任何关于如何过日子的信息,所以想知道这是否真的可能,或者我只是以错误的方式进行测验?

【问题讨论】:

  • 几个选项。将问题名称存储在问题表中,然后像对值 $row['...'] 一样引用它。或者,您可以简单地在 while 循环中增加一个变量 name="q&lt;?php echo $counter++; ?&gt;"
  • 感谢您的帮助!

标签: php html pdo


【解决方案1】:

另一个选项(然后是@waterloomatt 提到的选项)是使用questionID 作为名称,这使得将给定的答案与正确的问题相匹配非常容易。

【讨论】:

    猜你喜欢
    • 2017-07-03
    • 2019-07-31
    • 2017-05-09
    • 2011-09-20
    • 2011-11-04
    • 2015-05-08
    • 2019-01-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多