gpt4 book ai didi

php - 在 HTML 中将 MySQL 表的相似行分组在一起

转载 作者:行者123 更新时间:2023-11-29 07:10:49 25 4
gpt4 key购买 nike

我有一个 MySQL 数据库表,用于保存用户的反馈(列“feed”)。他们都可以提出问题(type = que,ref = 0)并回复(type = ans)所发布的问题。“ref”列显示它们引用的问题的“id”:

id     username     feed         type     ref
1 mr_x question_1 que 0
2 mrs_y question_2 que 0
3 mr_z answer_to_2 ans 2
4 mr_z answer_to_1 ans 1
5 mr_x answer_to_2 ans 2

现在,我尝试以 HTML 形式显示该表。我想将具有相同“ref”的所有答案放在一起,并在它们引用的问题下方显示它们。

使用 ORDER 的 PHP 查询,例如:

"SELECT * FROM feedback ORDER BY ref ASC";

这里不起作用。

我想要的 HTML 输出是:

mr_x     question_1      que      0
mr_z answer_to_1 ans 1
mrs_y question_2 que 0
mr_z answer_to_2 ans 2
mr_x answer_to_2 ans 2

我可能需要计算具有相同“ref”的所有答案,并构建行跨度。有人遇到过类似的挑战吗?

最佳答案

以下查询将从 feedback 表中返回按父 id 排序的记录,父线程中的记录出现在子线程之前。

SELECT f.*
FROM feedback f
ORDER BY CASE WHEN f.ref = 0 THEN f.id ELSE f.ref END,
f.id

说明:

ORDER BY 使用两个排序标准。首先,当ref为零(表示父线程)时,它按id排序,或者当ref不为零时,按id排序,表示子线程。然后,为了将父线程放在子线程之前,它按 id 排序。这是可行的,因为父线程的 id 总是小于其子线程。

关于php - 在 HTML 中将 MySQL 表的相似行分组在一起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39792563/

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