【发布时间】:2019-03-18 20:21:39
【问题描述】:
我正在处理一个具有类别、子类别、子子类别等的项目。用户可以创建它们。我想把它们展示在桌子上。 我使用这个函数,但返回只给我父母类别(parent_id = 0)。它错过了子类别,而子子... 如果我放了一个 var_dump,它显示连接正在工作,但是当函数找到另一个类别父级时,会丢失其他数据。我做错了什么,请帮忙。
我想返回一个包含所有类别和子类别的变量。
function categoryTree($catsSubcats = "", $parent_id = 0, $sub_mark = ""){ var_dump($catsSubcats);
$stmt = Conexion::conectar()->prepare("SELECT * FROM categorias_compra WHERE parent_id = $parent_id");
$stmt -> execute();
$respuesta = $stmt -> fetchAll();
if($respuesta){
foreach($respuesta as $key => $value){
$catsSubcats = $catsSubcats . $sub_mark.$value['nombre'].'<br>';
categoryTree($catsSubcats, $value['id'], $sub_mark.str_repeat(' ', 5));
}
return $catsSubcats;
}
}
【问题讨论】:
-
您是否希望此函数将数据写入您的表?没有
INSERT或UPDATE查询,不清楚您要完成什么 -
您没有使用递归调用的结果。您的意思是将其附加到输出字符串吗?
-
点赞
$catsSubcats .= categoryTree(...) -
我想将所有类别和子类别附加到一个输出字符串。
-
非常感谢“不要惊慌”...是的,这就是我想要的
标签: php