大佬们求解,一张表的3级全部显示,比如用户1邀请用户2,那么用户1就是用户2的上级,用户2邀请用户3,那么用户1就是用户3的上上级
现在我想同时把  用户    上级   上上级数据全部拿到,可是 有一级为空就不会显示,请问大佬该怎么样写

解决方案 »

  1.   

    可以参考下mysql的递归查询:SELECT ID.level, DATA.* FROM( 
    SELECT 
    @ids as _ids, 
    ( SELECT @ids := GROUP_CONCAT(id) 
    FROM table1 
    WHERE FIND_IN_SET(parent_id, @ids) 
    ) as cids, 
    @l := @l+1 as level 
    FROM table1, 
    (SELECT @ids :=’1’, @l := 0 ) b 
    WHERE @ids IS NOT NULL 
    ) id, table1 DATA 
    WHERE FIND_IN_SET(DATA.id, ID._ids) 
    ORDER BY level, id