php - 如何在php中比较数组和数据库

标签 php mysql arrays foreach

如果你们能帮我解决这个问题。我正在尝试用 php 构建一个问题。

表格:

id_quiz   question    answer
82         q1            1 
83         q2            4 
84         q3            1
85         q4            4 

我有两个数组;
1. $all_ids = [82,83,84,85]
2. $all_answers = [1,4,1,4] -> 如果答案正确则数一数。

我的问题是如何将这两个数组与数据库进行比较

  1. '$all_ids' 是数据库表的 ID。
  2. '$all_answers' 是答案。

$all_ids[82] == ($all_answer[1] -> 将 id 82 的答案与数据库进行比较)
$all_ids[83] == ($all_answer[4] -> 将 id 83 的答案与数据库进行比较)
$all_ids[84] == ($all_answer[1] -> 将 id 84 的答案与数据库进行比较)

我当前的代码似乎不工作:

$total_correct = 0;

foreach ($all_ids as $ids){

    $check = $db->query("SELECT * FROM quiz WHERE id_quiz='$ids' ");
    $row = $check->fetch_assoc();

    foreach($all_answers as $answers) {

        if($row['answer'] == $answers) {
            $total_correct++;   
        }       

    }
}

我希望我的问题有任何意义 :)

最佳答案

像这样将您的两个答案数组更改为一个:

$answers[82] = 1
$answers[83] = 4

foreach($answers as $id => $ans)
{
$sql = "select * from quiz where id_quiz = $id"
db->query($sql)
$row = $check->fetch_assoc();
if($row['answer'] == $ans)
{
  totalcorrect++
}

}

这是一个快速的回答,不确定您是否需要更多详细信息?

关于php - 如何在php中比较数组和数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7415967/

相关文章:

php - 通过表格和唯一代码重置密码

php - 将 Laravel 项目迁移到新实例后 POST 和 GET 错误。原因是什么?

mysql - 对 phpbb 帖子进行排序。原帖优先,其余按日期降序。一些mysql试验

mysql - 左连接三个表,将名称字段合并到一列中

arrays - String to Float64 : multiple-value strconv. 单值上下文中的 ParseFloat()

php - 如何取消两个图像的链接?

PHP API开发

php - 在laravel 5中搜索belongsToMany关系

c - 分配给指针的结构数组。发生了什么?

c - 为什么 sizeof 没有返回数组中正确的元素数量?