我想制作一个我不知道菜单有多深的菜单。
这是我的数据库表的样子:表menu
字段id
,,,parent_id
name
我已经尝试过这个来获得一个不错的数组,但它不起作用:
public function get()
{
$nodeList = array();
$tree = array();
$query = $this->db->get('menu');
$result = $query->result_array();
foreach ($result as $row) {
$nodeList[$row['id']] = array_merge($row, array('children' => array()));
}
foreach ($nodeList as $nodeId => &$node) {
if (!$node['parent'] || !array_key_exists($node['parent'], $nodeList)) {
$tree[] =& $node;
} else {
$nodeList[$node['parent']]['children'][] =& $node;
}
}
return $nodeList;
}
最终我想实现这一点(一个漂亮的菜单):
<ul>
<li><a href="">Apple<a/>
<ul>
<li><a href="">Iphone</a></li>
<ul>
<li><a href="">4S</a></li>
<li><a href="">5</a></li>
</ul>
<li><a href="">Ipad</a></li>
<ul>
<li><a href="">4</a></li>
<li><a href="">5</a></li>
</ul>
</ul>
</li>
<li><a href="">Samsung<a/>
<ul>
<li><a href="">Galaxy</a></li>
<ul>
<li><a href="">S3</a></li>
<li><a href="">S4</a></li>
</ul>
</ul>
</li>
我希望你能理解我的问题并能帮助我。我真的很高兴!需要这个。
谢谢 ;)