我已经创建了一个CMS网站,现在我正在尝试用php编码制作网站地图,但我制作的代码并不完整。即,它没有显示所有的子菜单数据。
请看这张图片。根据这张图片,我在重量训练下有很多其他子菜单(健身练习的子菜单),但它们不可见。为什么它们不可见?
请指导/帮助我解决这个问题
我的php代码
foreach ($query_sitemap as $artrow) {
$datefromsql = $artrow->created_date;
$time = strtotime($datefromsql); ?>
<p>
<ul>
<?php echo '<b>'.$artrow->menu_name.'</b>'; ?>
<?php $submenucon=$this->menumodel->fetch_menu_byPid($artrow->id);//i.e select*from menu where parent_id=$mid
if (empty($submenucon)) { ?>
---
<?php
} else {
foreach ($submenucon as $subtrow) {
?>
<?php echo '<li style="color:gray;margin:">'.$subtrow->menu_name.'</li><br/>'; ?>
<?php
}
}
?>
</ul>
</p>
<?php
$i++;
}
} ?>
您正在处理一个在数据库中表示的树结构(以最siplistic/naive的方式)。因此,您应该做的第一件事是基于返回的行构建一个类似树的结构,然后重复遍历它以进行显示。
您可以在这里阅读更多关于解析树状表的信息:
是否可以在一个查询中查询MySQL中的树结构表,达到任何深度?
在数据库中实现分层数据结构
将平面表解析为树的最有效/最优雅的方法是什么?