我在解决此测验计划时遇到问题。我目前只是插入一行。我将详细解释它:假设我有两个表,名为“表1”和“表2”。表1列出了老师输入的所有问题和正确的答案。表2包含学生给出的答案。如何“比较”来自2个表格的数据,然后将表格2中学生答案的“结果”(无论是“正确”还是“错误”)插入表2?下面的图片是我想要实现的那种表格。
我已经待了将近一天了,我得出的结论是我被困住了。 您可以向我提供一些想法,概念甚至示例代码吗?
tl; dr:将table1.correct_answer与table2.student_answer进行比较,然后为table2.result提供数据
答案 0 :(得分:2)
Table1应该有某种ID。 Table2需要一个列,其中引用Table1s ID作为外键。
答案 1 :(得分: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]");
}
}
希望有所帮助。