我创建了一个CMS网站,现在我正在尝试使用php编码制作网站地图,但我所做的代码并不完整。即它没有显示所有子菜单数据。
Please look at this image。根据这张图片,我在重量训练(健身运动的子菜单)下有许多其他子菜单,但它们不可见。为什么他们不可见?
请指导/帮助我解决此问题
我的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++;
}
} ?>
答案 0 :(得分:1)
您正在处理数据库中以(以最简单/天真的方式)表示的树结构。所以你要做的第一件事就是根据返回的行构建一个类似树的结构,然后才能重新遍历它以便显示。
您可以在此处阅读有关解析树状表的更多信息:
Is it possible to query a tree structure table in MySQL in a single query, to any depth?
Implementing a hierarchical data structure in a database
What is the most efficient/elegant way to parse a flat table into a tree?