Thinkphp通过mysql实现无限级分类

CREATE TABLE IF NOT EXISTS `think_cate` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` char(30) NOT NULL,
  `pid` int(11) NOT NULL,
  `path` varchar(200) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=12 ;
INSERT INTO `think_cate` (`id`, `name`, `pid`, `path`) VALUES
(1, '新闻', 0, '0'),
(2, '中国新闻', 1, '0-1'),
(3, '美国新闻', 1, '0-1'),
(4, '北京新闻', 2, '0-1-2'),
(5, '华盛顿新闻', 3, '0-1-3'),
(6, '海淀新闻', 4, '0-1-2-4'),
(7, '上地新闻', 6, '0-1-2-4-6'),
(8, '七街新闻', 7, '0-1-2-4-6-7'),
(9, '9号楼新闻', 8, '0-1-2-4-6-7-8'),
(11, '体育', 0, '0');
        function index(){
            $cate=D('cate');
            
            $list=$cate->field("id,name,pid,path,concat(path,'-',id) as bpath")->order('bpath')->select();
            
            foreach($list as $key=>$value){
                $list[$key]['count']=count(explode('-',$value['bpath']));
            }
            

            $this->assign('alist',$list);
            
            $this->display();
        }
请选择父级栏目<select name="pid" size="20">
            <option value="0">根栏目</option>
            <volist name="alist" id="vo">
            <option value="{$vo['id']}">
                <php>
                    for($i=0;$i<$vo['count']*2;$i++){
                                echo '&nbsp;';
                    
                    }
                </php>
                {$vo['name']}</option>
            </volist>

</select><br>

猜你喜欢

转载自www.cnblogs.com/fksdy/p/11490993.html