用PHP输出面包屑的最佳实践
作为我们正在开发的电子商务解决方案的一部分,CMS可以选择产品类别具有无限数量的子类别,并且每个子类别可以具有无限数量的子类别。基本上,产品类别有一个无限制的嵌套级别 类别的数据库表架构如下所示:用PHP输出面包屑的最佳实践,php,mysql,breadcrumbs,Php,Mysql,Breadcrumbs,作为我们正在开发的电子商务解决方案的一部分,CMS可以选择产品类别具有无限数量的子类别,并且每个子类别可以具有无限数量的子类别。基本上,产品类别有一个无限制的嵌套级别 类别的数据库表架构如下所示: +-------------+-----------------+----------------+ | category_id | name | parent_id | +-------------+-----------------+----------------
+-------------+-----------------+----------------+
| category_id | name | parent_id |
+-------------+-----------------+----------------+
| 1 | Parent 1 | null |
| 2 | Child of Parent | 1 |
+-------------+-----------------+----------------+
我们想为类别导航的每个级别添加一个面包屑导航,所以我的问题是,当有一个指定的父级时,在类别中循环,直到它到达顶层的最佳实践是什么
显然,我们可以在一个固定的循环中对它进行编码(例如if($child->hasParent()){echo'1';if($child->children->hasParent(){}
等等)
如何迭代未知数量的类别,直到到达顶级类别(即没有分配父级id的类别?只需使用while循环即可
while($child->hasParent()) {
echo $child->name();
$child = $child->Parent();
}
If(父类==null)
然后
子类==null
否则
hasparent类(null)==0
重复