我正在开发一个内容管理系统,遇到了关于CMS中父子项关系的问题。
基本上,我有一个可以创建页面的系统,当创建页面时,你可以选择一个父页面作为子导航。这一切都很好,直到我尝试从数据库生成导航。
我不确定是否应该使用某种连接方法,但我更喜欢将所有数据存入数组中,并使用php操作该数组。
来自数据库的结果数组如下:
基本上,我有一个可以创建页面的系统,当创建页面时,你可以选择一个父页面作为子导航。这一切都很好,直到我尝试从数据库生成导航。
我不确定是否应该使用某种连接方法,但我更喜欢将所有数据存入数组中,并使用php操作该数组。
来自数据库的结果数组如下:
Array
(
[0] => Array
(
[id] => 27
[name] => home
[link] => home.html
[parent] => 0
)
[1] => Array
(
[id] => 30
[name] => about
[link] => about.html
[parent] => 27
)
)
我需要循环遍历一个数组,这个数组可以有任意数量的导航,并智能地将其排序为父子关系。我已经能够做到一层深度的循环遍历,但它需要管理具有无限层级的子元素和子元素等等,并将其输出为HTML无序嵌套列表。
<ul>
<li>
<a>Nav</a>
<ul>
<li>
<a>Subnav</a>
<ul>
<li>
<a>Sub Sub nav</a>
</li>
</ul>
</li>
</ul>
<li>
<ul>
等等……