首页 > 代码库 > 获取联级下拉栏目
获取联级下拉栏目
在数据库里有如下数据:其中子分类为零的为主导航, 将下面的栏目在前台显示出来,如下效果
.tpl如下:
<tr><td>栏 目:<select name="nav"><option style="padding: 0;">请选择一个栏目类别</option>{$nav}</select></td></tr>
下面演示如何使数据在前台显示出:
1 两个要用的数据库函数如下:是navModel对象的成员函数
//查询所有主导航,没有limit public function getAllFrontNav(){ $_sql = "select id,nav_name,nav_info,sort from cms_nav where pid=0 order by sort asc"; return parent::all($_sql); }
//查询所有子导航 public function getAllChildNav(){ $_sql = "select id,nav_name,nav_info,sort from cms_nav where pid=$this->id order by sort asc $this->limit"; return parent::all($_sql); }
2 实现前台样式如下:重点在此,利用循环,再注入变量
private function add(){ $_nav = new NavModel(); foreach ($_nav->getAllFrontNav() as $_object){ $_html .= ‘<optgroup label="‘.$_object->nav_name.‘">‘; $_nav->id = $_object->id;//得到主导航的id用来查找它的子导航 if (!!$_childnav = $_nav->getAllChildFrontNav()){ foreach ($_childnav as $_object){ $_html .= ‘<option>‘.$_object->nav_name.‘</option>‘; } } $_html .= ‘</optgroup>‘; } $this->_tpl->assign(‘nav‘,$_html); }
3 简单的css样式自行修改了
获取联级下拉栏目
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。