php - 从多个表中选择内容并显示

标签 php mysql mysqli

我有以下表格:问题、答案、用户答案

我正在尝试获取一个查询,在其中可以打印出问题、答案以及用户选择的答案。

到目前为止,Iv 设法打印出带有用户答案的​​问题,但没有任何顺序。

包含示例数据的表格:

**Question Table**

id    Test_ID    QText
--------------------------------------------
1       1       What colour is the sky? 


**Answer Table** 

id    Question_ID   AText
-------------------------------
1       1          Green
2       1          Blue
3       1          Red
4       1          Yellow


**User_Answers Table**

id    User_ID    Question_ID    Answer_ID
---------------------------------------------------
1      1            1             2

**Correct_Answers Table**

id    Question_ID    Answer_ID
---------------------------------------------------
1          1            1             

Expected Outcome :

Question xxxxxxx



Answer    Your Answer    Correct Answer
------------------------------------------
  1                              x 
  2          x                 
  3          
  4   

最佳答案

SELECT
    q.QText, q.id AS QId, ua.id, qa.AText,
    case when qa.ID = ua.Answer_ID then 'x' else NULL end as IsUserAnswer
FROM user_answers ua
INNER JOIN question q ON q.ID = ua.Question_ID
INNER JOIN answer qa ON qa.Question_ID = q.ID
WHERE ua.User_ID=1
ORDER BY QId, qa.ID

您错过了按 question_id问题答案的连接

关于php - 从多个表中选择内容并显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35441086/

相关文章:

php - php 是否有相当于 python 的 virtualenv 或 ruby​​ 的沙箱?

php - 循环遍历数组,并将每次循环的结果作为变量插入到 MySQL

php - 将数组与外部数组组合

PHP/MySQL : get unlimited data

PHP 将邮件发送到多个电子邮件地址

python - SQLAlchemy:如何根据多个键自动递增?

php - 连接多个表失败时更新

PHP MySQL echo 计数

php - mysqli_query() 期望参数 1 为 mysqli,对象给定

php - 如何使用MySQLi更新BBDD。变量应该通过引用传递?