如果你们能帮我解决这个问题。我正在尝试用 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] -> 如果答案正确则数一数。
我的问题是如何将这两个数组与数据库进行比较?
- '$all_ids' 是数据库表的 ID。
- '$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/