PHP - 如何比较两列?

标签 php mysql

<分区>

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

enter image description here

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

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]");
    }
}

希望对您有所帮助。

关于PHP - 如何比较两列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19638063/

相关文章:

javascript - 图像轮播中的双 "active"类

php - Zend : How to get view in Bootstrap. php?

php - 为什么我的 PHP 数据库查询返回 6 行,而只有 2 个条目?

php - 如何从 session 表 CI 中解码 BLOB 数据对象

php - 如果我没有关闭 PHP 标签,Notepad++ 函数列表 PHP 无法工作

php - 动态主页布局的最佳解决方案

php 添加具有特定 id 的列以及如何回显确切 id 的结果

mysql - 同一个表上的多个 LEFT JOIN 语句

带有来自另一个表的列值的 MYSQL IN 语句

mysql - 使用 ASCII/Latin Charset 会加速数据库吗?