gpt4 book ai didi

PHP/MySql 选择与回复分组的评论

转载 作者:行者123 更新时间:2023-11-29 04:03:52 24 4
gpt4 key购买 nike

我正在编写一个脚本来处理类似于 facebook 的状态/回复的评论。基本上,一个项目可以有评论,用户可以回复该评论(最多一层)。

我的表设置如下:

Comments: [ Comment_ID | User_ID | Content | etc...]
Comments_Reply: [ Comment_ID | Is_Reply_To ]

因此,如果用户回复评论 #555,它会像常规评论一样出现在评论表中,然后也会在 Comments_Reply 中获得一行 [ 555 | 新评论 ID ]

我怎样才能选择按以下顺序排列的评论:

[ 555 | ....
[ New Comment that replies to 555
[556 | ....
[557 | ....

等等...回复在评论回复后按顺序出现。我正在使用 PHP 和 MySql。

最佳答案

好的,我想我现在得到了你想要的。我没有办法快速测试此函数的 MYSQL 版本,但 SQLite 版本运行良好,而且根据文档,MySQL 应该同样运行良好。不过可能是在 MySQL 上执行此操作的更好方法。

SQLite:

SELECT a.*, IFNULL( b.Is_Reply_To, a.Comment_ID ) as Is_Reply_To FROM Comments a LEFT JOIN Comments_Reply b HAVING(Comment_ID) ORDER BY Is_Reply_To ASC, a.Comment_ID ASC

MySQL

SELECT a.*, IF( IS NULL(b.Is_Reply_To), a.Comment_ID, b.Is_Reply_To ) as Is_Reply_To 从 Comments a LEFT JOIN Comments_Reply b HAVING(Comment_ID) ORDER BY Is_Reply_To ASC, a.Comment_ID升序

这会为我的 SQLite 生成这些结果。

Comment_ID Is_Reply_to
1 1
10 1
11 1
2 2
12 2
3 3
13 3
14 3
4 4
5 5
6 6
7 7
8 8
9 9
15 15

关于PHP/MySql 选择与回复分组的评论,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5222752/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com