1

我已经创建了一个 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++;
                    }
                }    ?> 
4

1 回答 1

1

您正在处理在数据库中表示的树结构(以最简单/幼稚的方式)。所以你应该做的第一件事是基于返回的行构建一个树状结构,然后才递归地遍历它以便显示。

您可以在此处阅读有关解析树状表的更多信息:

是否可以在单个查询中查询 MySQL 中的树结构表到任何深度?

在数据库中实现分层数据结构

将平面表解析为树的最有效/优雅的方法是什么?

于 2013-07-16T14:19:19.703 回答