mySQL带条件选择replyTo


mySQL select with conditions replyTo

我知道如何检索每条帖子的评论,但现在我正在尝试自己的系统"回复"。当有人回复时,我将评论id存储为新评论中的reply_id

$sql = 'SELECT cid, cname, user_uid, reply_id, 
        published, content, avatar
        FROM comments, users 
        WHERE report < 3 AND (uid = user_uid AND post_pid='.$id.') 
        OR ( user_uid ="_'.$id.'" AND post_pid='.$id.')';

这个请求给我这个评论列表:

    Array
    (
        [0] => stdClass Object
            (
                [cid] => 101
                [cname] => ramzan
                [user_uid] => 1
                [reply_id] => 100
                [published] => 2013-12-08 01:44:56
                [content] => why?
                [avatar] => users/anonyme.png
            )
        [1] => stdClass Object
...

但我想要这样的东西:

Array
        (
            [0] => stdClass Object
                (
                    [cid] => 101
                    [cname] => ramzan
                    [user_uid] => 1
                    [reply_id] => array() // the reply if exist
                    [published] => 2013-12-08 01:44:56
                    [content] => why?
                    [avatar] => users/anonyme.png
                )

也许这样做是个坏主意,但我不知道怎么做!!!

也许有人能帮上忙,我这样解决了我的问题:lvl1、lvl2必须声明为null,只有当有人回复评论时才设置字段的值

...SELECT field FROM table where ...
   ORDER BY COALESCE (lvl1, lvl2, id ), lvl1, lvl2, id
...

谢谢你,

向致以最良好的问候