0

我正在尝试用 PHP/MySQL 制作一个社交网站。我目前正在开发状态更新和状态系统的评论。我正在尝试显示我的所有状态以及对某些状态的评论。为此,我有两个表:commentuser_status.

我使用了这个 MySQL 查询,

      SELECT * FROM user_status LEFT JOIN 
      comment ON id_status = comment.status_id
      WHERE sender_id = '$id2'
      OR receive_id = '$id2'

     /* $id2 is my id */

我已成功显示状态和一条评论。但问题是,当评论数超过1时,状态显示不止1次。将显示多少相同的状态取决于对某些状态有多少评论可用。但我希望能够仅显示一次相同的状态,并在某些状态下显示多个评论(如果可用)。

4

2 回答 2

2

这与其说是 PHP 问题,不如说是对 SQL 连接如何工作的混淆。

听起来您真正想要的不是连接,而是来自两个表的一组不同的记录。在您的 SQL 技能进一步发展之前,请考虑通过进行两个查询来简化事情——一个用于评论和 user_status。还可以考虑只请求您感兴趣的特定字段,而不是使用SELECT *.

这是不同 SQL 连接的可视化解释,以防您想通过单个查询进行此操作。

于 2012-08-15T11:30:21.440 回答
0

我假设您没有显示查询的原始结果,而是将它们传送到要显示的 html 页面。仅在文本框中显示最近的状态。然后显示薄表或列出评论的有序列表。

您的查询是正确的。

于 2012-08-15T11:35:53.803 回答