通过递归函数创建树

时间:2012-09-05 08:59:43

标签: php mysql recursion

我有一张桌子

id,name,parent_id,designation列,

我希望通过php中的递归函数创建树。

每个parent_id都会查看id列,如果用户登录,则用户可以根据parent_id查看自己和以下所有记录。

喜欢

一个 | 乙 | C | d | Ë | ˚F

如果用户登录则他可以全部(A,B,C,D,E,F)详细信息。如果B登录则查看(B,c,D,E,F)并且像所有... F登录然后他只能看到自己的记录.. 谢谢你提前

1 个答案:

答案 0 :(得分:1)

创建一个函数fetch_parent;

function fetch_parent($parent_id) {
    $query = 'SELECT * FROM `my_table` WHERE `parent_id`='. $parent_id;
    // use your own sql class/function whatever to retrieve the record and store it in variable $parent
    if($parent->parent_id !== null) { // asuming a 'root' record will have null as it's parent id
        fetch_parent($parent->parent_id); // here you go with your recursion
    }
    return;
}

然后只需使用您想要父母的记录来调用该函数:

$first_parent_id = 8;
fetch_parent($first_parent_id);

注意:

  • $ parent var也可以是一个数组,具体取决于mysql结果集
  • 请请查询mysql注入等查询中的$ parent_id。