我在数据库中有两个表.表questions,有两列,ID和question.表二answers有两列question_ID和answer.在表格中,answers有一个以上的答案与一个问题有关.所以有重复的question_IDs.如何从表格中显示所有问题,questions并在问题的answers正确表格中显示与其相关的所有答案?喜欢:
太阳距离1800万英里.
太阳距离9300万英里.
距离太阳有2英里.
大.
小.
介质.
等等...
对不起,如果问题看起来有点模糊,但它是解释它的最佳方式. 提前致谢.
您将执行连接两个表的选择查询,按问题ID排序.
SELECT q.ID as question_id, q.question, a.ID as answer_id, a.answer
FROM questions q
LEFT JOIN answers a ON a.question_ID = q.ID
ORDER BY q.ID, a.ID
Run Code Online (Sandbox Code Playgroud)
这将为您提供如下结果集:
question_id question answer_id answer
1 What color is the sky? 100 Blue
1 What color is the sky? 101 Red
2 How old is dirt 102 Very Old
2 How old is dirt 103 Kinda Old
Run Code Online (Sandbox Code Playgroud)
等等
循环浏览此结果集时,您需要跟踪最后一个问题,以便在转到第三个结果时,问题2,您知道显示下一个问题.
例如
$PreviousQid = null;
foreach ($QueryResult as $QueryRow)
{
if ($PreviousQid === null || $PreviousQid != $QueryRow['question_id'])
{
echo "<b>" . $QueryRow['question'] . "</b><br/>\n";
}
echo $QueryRow['answer'] . "</br>\n";
$PreviousQid = $QueryRow['question_id'];
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
337 次 |
| 最近记录: |