Php 用于生成面包屑的递归函数
它是一个递归函数,必须生成面包屑。我无法让它正常工作,它只返回最后一个标题 sql表类似于ID、TITLE、PARENT\u ID 父项ID=0表示类别没有父项, 对于任何其他父ID,请转到该ID,获取其标题并将其添加到Php 用于生成面包屑的递归函数,php,recursion,Php,Recursion,它是一个递归函数,必须生成面包屑。我无法让它正常工作,它只返回最后一个标题 sql表类似于ID、TITLE、PARENT\u ID 父项ID=0表示类别没有父项, 对于任何其他父ID,请转到该ID,获取其标题并将其添加到$path变量中 我需要帮助来完成这项工作。也欢迎其他选择。看起来您要么需要使用createPath返回的值,要么通过引用传递$path,&$path。一个或另一个,但不是每一个的一部分。尝试以下方法: function createPath($id, $category_tbl
$path
变量中
我需要帮助来完成这项工作。也欢迎其他选择。看起来您要么需要使用createPath返回的值,要么通过引用传递$path,&$path。一个或另一个,但不是每一个的一部分。尝试以下方法:
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;
}
为什么不是一个迭代的方法?可以用一个查询来实现这一点??
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'];
}
}