混淆使用PHP编码制作站点地图

时间:2013-07-16 10:17:09

标签: php codeigniter

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

1 个答案:

答案 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?