用于生成面包屑的递归函数

use*_*530 2 php recursion

function createPath($id, $category_tbl, $path) {

    $s = "SELECT * FROM ".$category_tbl." WHERE ID = $id";
    $r = mysql_query($s);
    $row = mysql_fetch_array($r);

    if($row['PARENT_ID'] == 0) {
        $path .=$row['TITLE'].'-';
    }
    else {
        $path .='-'.$row['TITLE'];
        createPath($row['PARENT_ID'],$category_tbl, $path);

    }
    return $path;
}
Run Code Online (Sandbox Code Playgroud)

它是一个递归函数,必须生成面包屑.我无法让它正常工作,它只返回最后一个TITLE.

sql表类似于ID,TITLE,PARENT_ID,PARENT_ID = 0表示类别没有父级,对于任何其他PARENT_ID,转到该ID,获取它的标题并将其添加到$path变量

我需要帮助来完成这项工作.替代方案也受到欢迎.

Mes*_*ssa 5

尝试这样的事情:

function createPath($id, $category_tbl) {

    $s = "SELECT * FROM ".$category_tbl." WHERE ID = $id";
    $r = mysql_query($s);
    $row = mysql_fetch_array($r);

    if($row['PARENT_ID'] == 0) {
        return $row['TITLE'];
    } else {
        return createPath($row['PARENT_ID'],$category_tbl).'-'.$row['TITLE'];
    }
}
Run Code Online (Sandbox Code Playgroud)