我在解决这个测验程序时遇到了问题。我目前卡在插入一行。我将详细解释:假设我有两个表,名为“表 1”和“表 2”。表 1 列出了教师输入的所有问题和正确答案。表 2 包含学生给出的答案。我如何“比较”2 个表中的数据,然后将学生答案的“结果”(无论是“正确”还是“错误”)插入表 2?下图是我想要实现的那种表格。
我已经研究了将近一天,得出的结论是我被卡住了。
你能给我一些想法、概念,甚至示例代码吗?
tl;dr:将 table1.correct_answer 与 table2.student_answer 进行比较,然后为 table2.result 提供数据
考虑到两个表都有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]");
}
}
希望对您有所帮助。