如何在php中比较两个响应?

我在数据库中有两个表。疑问用户回答 两者皆有 问题编号 字段。我想比较一个用户是否回答了所有的问题,在 疑问. 每当用户回答一个问题,就会有一条新的记录被添加到 用户回答 表,其中 用户ID 他们的账户和 问题编号 的问题,他们刚刚回答。我曾想过比较一下,如果所有的 问题编号疑问 表已由用户回答 用户ID用户回答 表。我希望我已经很好地解释了这个概念。

我曾想过向 疑问 表,并返回一个包含所有的 问题编号,并再次查询 用户回答 桌子上的所有 问题编号 与用户相关的 用户ID,就是当时登录的那个人。

我想做一些事情,但我不知道如何继续。

<?php
session_start();

include 'connection.php';
include 'URLS.php';

$question_sql = "SELECT questionId FROM questions;";
$question_result = mysqli_query($connection, $question_sql);
$question_row = mysqli_fetch_array($pregunta_result);

$answer_sql = "SELECT questionId FROM user_answers WHERE userId = `$_SESSION['userId']`";
$answer_result = mysqli_query($connection, $answer_sql);
$answer_row = mysqli_fetch_array($answer_result);
?>

我不知道如何得到一个数组,里面有所有的… 问题编号对不起,我对php很陌生。如果有人能想出比比较两个数组更好的方法,我将感激不尽。

我本来想在另一个帖子里问这个问题,但是因为问题很短…… 一旦我有了两个数组,我如何比较哪个是 问题编号 用户没有回答的问题,例如,如果是 问题编号疑问[1, 2, 3, 4, 5]用户ID 1 已经回答了 [2, 4, 5],它怎么能保存在另一个数组 [1, 3]? 也许有 array_diff()?

对不起,问了这么长的问题,但我有点绝望了。先谢谢你了。

例子

问题表

question_id: [1,2,3,4,5,6,7](每个数字是一个不同的问题)

user_answers表

user_id: [247](用户已登录)

question_id: [1、3、5、6](用户回答的问题)

数组中的每个数字都是不同的行

所以,我想得到这样的东西 $unanswered_questions = [2, 4, 7]

数据库图像

问题表

(对不起,问题是西班牙文的,但重要的是问题的Id)

问题表

用户回答表

例如,用户ID1回答了问题1、2、3,他需要回答问题5、6。怎样才能得到他需要回答的问题Id?

解决方案:

听起来左外侧JOIN语句比你使用的2个查询更适合你。你可以使用下面的语句来获取问题id和未回答的问题。

SELECT questions.questionId, questions.question
FROM questions
LEFT JOIN user_answers
ON questions.questionId = user_answers.questionId
WHERE user_answers.questionId is NULL;

或者用这个,把所有的问题和答案放在一起。

SELECT *
FROM questions
JOIN user_answers
ON questions.questionId = user_answers.questionId;

或者在其中添加一个where,来查找一个特定的用户。

SELECT *
FROM questions
JOIN user_answers
ON questions.questionId = user_answers.questionId
WHERE questions.userId = `mysql_real_escape_string($_SESSION['userId'])`;

考虑到我对你的模式的理解,这应该会给你所有没有答案的问题。

如果找到这个 职位 如果你需要更多关于JOIN语句的信息,它是一个很好的资源。

给TA打赏
共{{data.count}}人
人已打赏
未分类

如何在postgres json[]类型中插入二进制列表[{},{},{}]。

2022-9-8 12:17:38

未分类

Django用户在登录时丢失了组(但没有权限)。

2022-9-8 12:17:40

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索