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;
}
这是一个必须生成面包屑的递归函数。我无法让它正常工作,它只返回最后一个标题。
sql表类似于ID,TITLE,PARENT_ID
PARENT_ID = 0表示该类别没有父级,
对于任何其他PARENT_ID,转到该ID,获取它的标题并将其添加到$path
变量
我需要帮助才能完成这项工作。替代方案也受到欢迎。
答案 0 :(得分: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'];
}
}
答案 1 :(得分:0)
看起来您需要使用createPath返回的值,或者通过引用传递$ path,& $ path。一个或另一个,但不是每个的一部分。