Oh,MyGod。 发表于 2012-8-24 16:53:29

CI视图中怎么输出这样的二级菜单?

<ul class="menu">
    <li class="level1"><a href="#">这是父类菜单</a>
      <ul class="level2">
      <li><a href="">这是子类菜单</a></li>
       <li><a href="">这是子类菜单</a></li>
       <li><a href="">这是子类菜单</a></li>
      </ul>
    </li>
    <li class="level1"><a href="#">这是父类菜单</a>
      <ul class="level2">
      <li><a href="">这是子类菜单</a></li>
      </ul>
    </li>
</ul>

id   fid   name
1    0    系统管理
2    1    修改密码
3    0    导航管理
4    3    头部导航
5    3    底部导航   

子类根据父类的id来循环输出,弄了很久也没弄出来,看了别人的例子还是没看懂,请各位大大帮帮忙!

qq494686707 发表于 2012-8-24 17:28:49

下面代码能够解决你的问题


<?php
$f_datas = $this->db->select('*')->from('表')->where('fid', 0)->get()->result_array();
foreach($f_datas as $f_num => $f_data)
{
        $f_datas[$f_num]['childrens'] = $this->db->select('*')->from('表')->where('fid', $f_data['id'])->get()->result_array();
}
?>


<ul class="menu">
<?php foreach($f_datas as $f_data): ?>
    <li class="level1">
      <a href="#"><?php echo $f_data['name']; ?></a>
      <ul class="level2">
      <?php foreach($f_data['childrens'] as $f_childrens_data): ?>
            <li><a href=""><?php echo $f_childrens_data['name']; ?></a></li>
      <?php endforeach; ?>
      </ul>
    </li>
<?php endforeach; ?>
</ul>

Oh,MyGod。 发表于 2012-8-24 18:00:41

本帖最后由 Oh,MyGod。 于 2012-8-24 18:28 编辑

qq494686707 发表于 2012-8-24 17:28 static/image/common/back.gif
下面代码能够解决你的问题
好像不行,二级菜单没有显示

qq494686707 发表于 2012-8-24 18:25:19

Oh,MyGod。 发表于 2012-8-24 18:00 static/image/common/back.gif
好像不行,提示错误说未定义索引 id

id 设关键并自增,都没错的话是可以的,我试了好多遍了

Oh,MyGod。 发表于 2012-8-24 18:29:31

qq494686707 发表于 2012-8-24 18:25 static/image/common/back.gif
id 设关键并自增,都没错的话是可以的,我试了好多遍了

刚刚select 我写错了,名字是你QQ吗?

Oh,MyGod。 发表于 2012-8-24 18:33:51

qq494686707 发表于 2012-8-24 18:25 static/image/common/back.gif
id 设关键并自增,都没错的话是可以的,我试了好多遍了

我调试好了,太感谢你了

miss_you 发表于 2012-8-25 01:18:03

真想知道你是怎么弄出来的,我在写字段的时候会再多加一个path值如
0,1
0,2
0,1,3
这样子,做起来就很简单了。

Oh,MyGod。 发表于 2012-8-26 16:42:18

miss_you 发表于 2012-8-25 01:18 static/image/common/back.gif
真想知道你是怎么弄出来的,我在写字段的时候会再多加一个path值如
0,1
0,2


这样是可以order path一次输出,但是你看我的样式要求
按照QQ那位大大给的代码就可以弄出来

xuyaokun 发表于 2012-8-27 00:18:44

hao!!!!

ciogao 发表于 2012-8-30 22:38:12

这与CI无关。学踏实点PHP基本知识吧
页: [1]
查看完整版本: CI视图中怎么输出这样的二级菜单?