Php 查询问题-尝试在讨论中分组评论

Php 查询问题-尝试在讨论中分组评论,php,mysql,select,Php,Mysql,Select,过去几天我一直在努力解决MYSQL查询问题。我希望有人能给我指出正确的方向 我正在查询两个表(“问题”和“注释”),目的是返回以下布局: 问题1 评论1 评论2 评论3 问题2 评论4 评论5 等等 评论是问题独有的(即,评论位于父问题下) 我的查询(我知道不正确)如下所示: <?php $query = "SELECT discussion.*, comments.* FROM discussion LEFT JOIN comments ON discussion.re

过去几天我一直在努力解决MYSQL查询问题。我希望有人能给我指出正确的方向

我正在查询两个表(“问题”和“注释”),目的是返回以下布局:

问题1

  • 评论1
  • 评论2
  • 评论3
问题2

  • 评论4
  • 评论5
等等

评论是问题独有的(即,评论位于父问题下)

我的查询(我知道不正确)如下所示:

<?php
     $query = "SELECT discussion.*, comments.* FROM discussion LEFT JOIN comments ON discussion.referenceID = comments.commentID";
     $result = mysql_query($query) or die(mysql_error());
     while($row = mysql_fetch_array($result)){
     echo $row['question']. " - ". $row['comment']. "<br /><br />";
}
?>

结果是:

问题1——评论1 问题1-评论3 问题2——评论2

我很接近,但无法在一个问题下获得多个评论。我尝试了“分组讨论。问题”,但这将我的结果限制在:

问题1——评论1 问题2——评论2

把它放在上下文中,我试图允许用户在一个页面上提交对多个问题的评论

提前谢谢

RR

试试这个:

$query = "SELECT * 
FROM discussion, comments
WHERE discussion.referenceID = comments.commentID
GROUP BY discussion.referenceID;

只需存储上一个问题并将其与当前问题进行比较

草图:

$prev_question = null;
while($row = mysql_fetch_array($result)) {
    if ($prev_question != $row['question']) {
        echo '<b>' . $row['question'] . '<b><br />';
        $prev_question = $row['question'];
    }
    echo $row['comment'] . '<br />';
}
$prev_question=null;
while($row=mysql\u fetch\u数组($result)){
如果($prev_question!=$row['question'])){
回显“.$row['question']”。
; $prev_question=$row['question']; } echo$row['comment']。
; }
虫族,太棒了!谢谢你的回复。除了一个问题外,它工作得非常完美

这些问题只有在有相关评论时才会出现(这是我自己在某个时候引起的问题)。目标是显示所有注释,无论是否指定了注释

工作代码:

<?php
$query = "SELECT discussion.*, comments.* FROM discussion LEFT JOIN comments ON discussion.referenceID = comments.commentID";
$result = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_array($result)){
$prev_question = null;
while($row = mysql_fetch_array($result)) {
if ($prev_question != $row['question']) {
echo "<h3>" . $row['question'] . "</h3>";
$prev_question = $row['question'];
}
echo "<img src=\"images/bg_addform_topFull.gif\" width=\"446\" height=\"11\" /><div class=\"comment\"><h3>" . $row['author'] . "</h3><div class=\"greyText\">" . $row['dt'] . "</div><p>" . $row['comment'] . "</p></div><img src=\"images/bg_addform_bottom.gif\" width=\"446\" height=\"11\" class=\"footerImage\" />";
        }
        }
    ?>


再次感谢您的帮助。

您希望您的最终结果是什么样的?我喜欢这样-即使答案完全错误,您也可以在这里投票!;-)@虫族的查询看起来更好吗?您的查询无法解决他的任务。他需要得到所有的评论,而这个查询不会返回所有的评论。如果你认为我的评论应该是一个答案,那么用绿色的复选标记进行检查。这就是stackoverflow的工作原理;-)谢谢大家。在你的帮助下解决了这个问题。