MySQL Get Tree Parents, Childrens

// get childrens
SELECT GROUP_CONCAT(lv SEPARATOR ',') as childrens 
FROM 
(
SELECT @pv:=( SELECT GROUP_CONCAT( uid SEPARATOR ',' ) FROM __table__ WHERE parent_id IN ( @pv ) ) AS lv  
FROM __table__
JOIN ( SELECT @pv:='__parent_id__' ) tmp 
WHERE parent_id IN (@pv)
) a;

// get parents
SELECT  
`_id` AS `file_id`, 
`q`.`parent_id`, 
(SELECT name FROM files AS `r` WHERE `r`.`file_id` = `q`.`_id` ) AS `name`
FROM 
( SELECT @r AS `_id`, ( SELECT @r := `parent_id` FROM `files` WHERE `file_id` = `_id` ) AS `parent_id` FROM ( SELECT  @r := '__id__', @l := '0' ) AS `vars`, `files` WHERE @r <> '0' ) AS `q`