如果我有一张表如下
怎么办?id | mother_id | subject | date
1 | 0 | test1 | 122344
2 | 0 | test2 | 122335
3 | 1 | reply1totest1 | 122499
4 | 1 | reply2totest1 | 122734
5 | 2 | reply1totest2 | 126887
我希望PHP能够生成如下所示的HTML:
reply1totest1
- reply1totest1
- test1
reply1totest2
- test2
我想说的是,我希望它们组合在一起,但最后的回复是最重要的。也希望这可以在1个查询中完成,因为我可以做到然后反转查询,但我想用1个查询做得很好而且整洁......
答案 0 :(得分:0)
我必须说表结构不允许单个查询,我的意思是2个查询(select from(select))因为那不是单个查询,所以有一个缺少的键来识别来自一个线程的所有项,所以你必须爬行分层设计。
我想我们还有一些问题。
你不能修改这个简单的结构吗?和/或插入方法? - 我不是因为你要求解决这种问题。
我想出了一个假设的单个查询,以防万一没有“回复回复”,首先你必须运行这个sql语句
update 'table' set mother_id=id where mother_id=0;
接下来,您可以按
进行排序查询select mother_id,subject from 'table' order by mother_id asc,id desc
我在查询中添加'id',以便在循环到数组结果时可以使用值更改检测进行可视化表示
我希望它有点帮助
答案 1 :(得分:-2)
1查询是不可能的,因为检索本身需要多次查询。你有签出加入吗? tigzag很好地引用它,只是google它! :)