Php 查询将相关数据排序到不同的表中

Php 查询将相关数据排序到不同的表中,php,mysql,sql,Php,Mysql,Sql,有两个表:用户、注释 结构如下: user ----- id name comments -------- id title user_id comments_id 请注意,comments\u id是该评论记录的父id,这意味着,如果comments\u id为null,则它是一篇文章,如果它不为null,则它是一篇回复 所以我想选择它们,并像这样订购 Post 1 Reply 1 for Post 1 Reply 2 for Post 1 Post2 ... 这是我尝试的codei

有两个表:用户、注释

结构如下:

user
-----
id
name

comments
--------
id
title
user_id
comments_id
请注意,comments\u id是该评论记录的父id,这意味着,如果comments\u id为null,则它是一篇文章,如果它不为null,则它是一篇回复

所以我想选择它们,并像这样订购

Post 1
 Reply 1 for Post 1
 Reply 2 for Post 1
Post2
...
这是我尝试的codeigniter查询,我还需要用户表来获取用户名

$this->db->select('c.id as id, u.name as username, c.txtMsg as txtMsg, c.createDate as createDate, c.updateDate as updateDate, c.imageURL as imageURL, c.postID as postID');
        $this->db->from('comment as c, user as u');
        $this->db->where('u.id = c.userID');
        $this->db->order_by('c.id', $order_type);

如何构造查询以对列表进行排序?感谢您的帮助。

感谢您提供的信息可能会重复,我现在就去读它。这似乎是一个常见的查询,但结果比我预期的更复杂,我用应用程序逻辑处理它是否更好?感谢如果它只是一个层次结构,那么查询非常简单,但是要处理任意数量的父子关系,您应该在应用程序中处理它。