【问题标题】:confused to make sitemap using php coding困惑于使用 php 编码制作站点地图
【发布时间】:2013-07-16 10:17:09
【问题描述】:

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

【问题讨论】:

  • 这对我来说非常困难。请任何人告诉我一些逻辑。请
  • 不确定问题出在哪里,但您需要做的就是在站点地图中为每个唯一页面/帖子放置一行,而不是为每个菜单项放置一行,除非每个项目本身都是唯一页面, 站点地图中的页面顺序通常并不重要,因此您不必为了匹配您的菜单而对其进行排序。如果获取您自己的网站结构的逻辑很困难,那么也许您应该考虑改变您的数据库结构
  • 所以你在子菜单中有子菜单?然后你应该使用一些递归来获取所有菜单
  • @Anigel 例如。 w3.org/WAI/sitemap.html .你认为我必须在我的行中添加什么代码?
  • 循环浏览所有页面并将它们添加到站点地图中,类别不相关

标签: php codeigniter


【解决方案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?

【讨论】:

  • 是的,我看到了您的示例,它们与我的问题相似。但是我仍然很困惑如何为我的上述问题编写代码。请修改我的问题并发布答案。这对我很有用
  • 我找到了这个链接paratechnical.blogspot.in/2011/02/…你能不能为我上面的问题写代码。我不适合这种类型的任务,但我必须这样做,以保住我的工作
  • 一旦你掌握了嵌套集方法的窍门,构建动态菜单真的很不错
猜你喜欢
  • 2015-04-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多