【问题标题】:Php - PDO DatabasePHP - PDO 数据库
【发布时间】:2017-04-16 17:02:38
【问题描述】:

下面是我使用存储在数据库中的答案检查单选按钮问题的功能。

function chkQuestions($info)
{   
    $query = $this->handle->prepare("SELECT * FROM tbltest");
    $query->execute();
    $rows = $query->fetchAll();

    foreach ($rows as $row)
    {

        $answerID = array($info['answer'.$row['testID']]);


            if ($row['answer'] == $answerID ) 
                {
                      $score = 0;
                      $result = $score +1;
                      return $result;
                } else {
                      $result = "incorrect";
                     return $result;
                }
            //return $answerID;

    }//rows

}//chkQuestions

我的问题是我所做的这段代码适用于单个问题,但我不确定如何使其适用于多个问题

关于我的代码的信息。

&info 是一个存储所有 $_POST 数据的数组。

$row['answer']; - 这是指我在数据库中的答案行。

Post数据提交到函数中,如下所示

<input type="radio" name="answer<?php echo $question['testID'] ?>" id="answer<?php echo $question['testID'] ?>" value="<?php echo $question['option3']?>" />

$questions 是一个包含数据库数据的数组,它为每个问题分配数据库行的 ID,我用它来提交给 chkquestion 函数以将行的 ID 与该问题匹配。

我一直坚持如何使这项工作适用于多个问题。

非常感谢

【问题讨论】:

    标签: php sql pdo


    【解决方案1】:

    您可以使用answer[1]answer[2] 等表单字段名称,当提交给 PHP 时,它们将被解析为数组。我希望你能用这些知识重新编写你的代码。现在他们对我来说是一团糟。

    name="answer[<?php echo $question['testID'] ?>]"
    

    【讨论】:

    • 你好 Turtletread,你能解释一下你在这里做什么吗?
    • 对不起乌龟它没有显示大声笑,是的,这似乎让我在某个地方,但现在我得到了这个错误。注意:未定义索引:第 46 行 C:\xampp\htdocs\ProgramLearnWeb\model\html.model.php 中的 answer1
    • 我假设它现在不会在帖子类型中存储此输入中的值
    • 这里的方法很简单。您从表单中获取一个数组并遍历它们以进行处理。您需要自己调试代码。我建议您了解传入和传出的值。使用 var_dump 来帮助你。
    猜你喜欢
    • 2013-05-14
    • 2011-12-16
    • 2021-12-06
    • 2013-09-28
    • 1970-01-01
    • 1970-01-01
    • 2014-01-26
    • 2016-03-27
    • 1970-01-01
    相关资源
    最近更新 更多