php问答系统的用户和答案

li9yvcax  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(276)

我想解释一下我的问题,抱歉我的英语不好:)
我正忙于测验系统。
那么什么样的table:

- Users
- Question
- Answers
- Sended Answers

对于我的问题,用户表并不是真正必要的。
问题表如下:

- Questions.ID
- Question.Text (the question)

答案表如下:

- Answers.ID
- Answers.QuestionID
- Answers.Text
- Answers.Good

发送的答案表如下:

- sAnswers.ID
- sAnswers.QuestionID
- sAnswers.FilledAnswers
- sAnswers.UserID

答案。好就像0=不好/1=好。
我用usersname获得所有发送的答案,并找出答案是否正确。
我试过:

public function countScores($bind=""){
  $sql = "SELECT sAnswers.*, users.name, Answers.*
  FROM sAnswers
  INNER JOIN users ON sAnswers.userID = users.id
  INNER JOIN Answers ON sAnswers.FilledAnswers = Answers.QuestionID";
  $result = $this->run($sql,$bind);
  return $result;
}

但结果比锯木匠的要多。我做错什么了

8gsdolmq

8gsdolmq1#

我不确定您的模式设计是什么,但只是猜测一下,您的答案连接应该是answers.id这样

INNER JOIN users ON sAnswers.userID = users.id
INNER JOIN Answers ON sAnswers.FilledAnswers = Answers.ID";

您确定内部联接在您的情况下有效吗,即如果所有表都已满,请尝试执行左联接以确保安全

LEFT JOIN users ON sAnswers.userID = users.id
LEFT JOIN Answers ON sAnswers.FilledAnswers = Answers.ID

相关问题