5

我有一张桌子

id,name,parent_id,designation列,

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

每个parent_id人都在查看id列,如果用户登录,那么用户可以看到自己的和下面的所有记录parent_id

喜欢

一个 | 乙| c | D | E | F

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

4

1 回答 1

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 结果集
  • 请在查询中检查 $parent_id 是否有 mysql 注入等。
于 2012-09-05T09:20:18.057 回答