如何根据另一个表的ID从表中获取行数

所以我有一个 index.php 页面,它从我的数据库中的两个表中吐出数据。第一个表questions包含我的 QuestionID 的一列,如下所示:


qid

----

 1

 2

 3

调用的第二个表answers包含两列,一列用于我的 AnswersID,另一列用于链接到我在questions表中的QuestionsID ,它看起来像这样:


aid | aqid

----|-----

 1  |  3

 2  |  1

 3  |  1

所以在我的 index.php 页面上,我基本上想qid从questions表中回显出每一行,旁边是与每个 QuestionID 对应的答案总数(表中的aid行answers)。简单地说,我想要在我的 index.php 页面上实现的结果是这样的:


QuestionID: 1 / Answers: 2

QuestionID: 2 / Answers: 0

QuestionID: 3 / Answers: 1

但是根据我当前的代码,我无法实现这个结果。它不断为每个表回显错误的行数。这是我得到的不需要的结果:


QuestionID: 1 / Answers: 3

QuestionID: 2 / Answers: 3

QuestionID: 3 / Answers: 3

那么我将如何解决这个问题以获得正确的结果?这是我当前的代码:


<?php 

$sql = "

SELECT questions.*, GROUP_CONCAT(answers.aqid) AS aqid

FROM questions 

LEFT JOIN answers

ON questions.qid=answers.aqid

GROUP BY questions.qid

";

$result = $conn->query($sql);

while($row = $result->fetch_assoc()) {

    $qid = $row["qid"];

    $aqid = $row["aqid"];

    $row_cnt = $result->num_rows;

?>

<div>

    QuestionID: <?php echo $qid; ?>

    <?php foreach($answers as $answer): ?>

        Answers: <?php echo $row_cnt; ?>

    <?php endforeach; ?>

</div>

<?php } ?>

感谢您的帮助。


慕田峪7331174
浏览 201回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP