0

我在解决这个测验程序时遇到问题。我目前卡在插入一行。我将详细解释它:假设我有两个表,分别名为“表 1”和“表 2”。表 1 为教师输入的所有问题和正确答案。表 2 包含学生给出的答案。如何“比较”两个表中的数据,然后将学生答案的“结果”(无论它们是“正确”还是“错误”)插入表 2?下图是我想要实现的那种表格。

在此处输入图像描述

我已经坚持了将近一天,我得出的结论是我被卡住了。你能给我一些想法、概念,甚至是示例代码吗?

tl;dr:将 table1.correct_answer 与 table2.student_answer 进行比较,然后为 table2.result 提供数据

4

2 回答 2

1

Table1 应该有某种 ID。Table2 需要一列引用 Table1 的 ID 作为外键。

于 2013-10-28T14:57:24.397 回答
1

考虑到这两个表都有 id 列,并且问题和答案的顺序相同(具有相同的 id)。你可以这样做:

首先将所有正确答案放入一个数组中。

$result1 = mysql_query("Select * From table1");
while ($correct_row = mysql_fetch_array($result1) ){
    $correct[ $correct_row[id] ] =  $correct_row[correct_answer];
}

然后将它们与学生的答案进行比较,并在查看学生的每个答案时更新结果表。

$result2 = mysql_query("Select * From table2");
while ($student_row = mysql_fetch_array($result2) ){
    if ($student_row[student_answer] == $correct[ $student_row[id] ]  ){
        mysql_query("UPDATE table2 SET result=correct WHERE id=$student_row[id]");
    } else {
        mysql_query("UPDATE table2 SET result=wrong WHERE id=$student_row[id]");
    }
}

希望有帮助。

于 2013-10-28T18:13:36.443 回答