mysqlphp:显示帖子,并为每个帖子提供所有注释

mysqlphp:显示帖子,并为每个帖子提供所有注释,第1张

mysql / php:显示帖子,并为每个帖子提供所有注释

不知道您的数据库结构,它应该看起来像这样。请注意,您应该用

*
实际需要的更明确的列列表替换字符。

SELECt p.*, c.*, u.* FROM posts pLEFT JOIN comments c ON c.post_id = p.idLEFT JOIN users u ON u.id = p.author_id

请注意,如果您只是想获取计数,总和之类的东西,则最好缓存其中的一些信息。例如,您可能希望将评论计数缓存在发布表中,而不是对每个查询都进行计数。仅在添加/删除评论时计算和更新评论数。

编辑:
意识到您还希望将用户数据附加到每个注释。您可以多次加入同一张表,但是它很难看。这可能会变成一个非常昂贵的查询。我还提供了一个有关如何为列添加别名的示例,以减少混乱:

SELECt p.*, c.*, u.name as post_author, u2.name as comment_author FROM posts pLEFT JOIN comments c ON c.post_id = p.idLEFT JOIN users u ON u.id = p.author_idLEFT JOIN users u2 ON u2.id = c.author_id


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5675620.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存