码迷,mamicode.com
首页 > 其他好文 > 详细

无限分类

时间:2015-06-08 14:59:20      阅读:94      评论:0      收藏:0      [点我收藏+]

标签:


id name pid path 路径-id

1 男人世界 0 0 0-1
2 游戏世界 1 0-1 0-1-2
3 女人世界 0 0 0-3
4 包包世界 3 0-3 0-3-4
5 lv 4 0-3-4 0-3-4-5
6 lol 2 0-1-2 0-1-2-6

当前路径path如果是顶级分类则pid path为0
否则的话 为父级分类的path-pid
排序可以按照 path-id 就可以了
$cates = D("Category")->order("concat(path,‘-‘,cate_id)")->select();

//找到上级的名称
foreach ($cates as &$v) {
$pid = $v[‘pid‘];
$pname_arr = M("Category")->where("cate_id=".$pid)->field(‘cate_name‘)-
>find();
$v[‘pname‘] = $pname_arr[‘cate_name‘];
}

根据分级整出层次感 没一层加两个|--
foreach($cates as &$cate){
$prefix = "";
$c = count(explode("-",$cate[‘path‘]));
for($i=0;$i<$c*2;$i++){
$prefix .= "|--";
}
$cate[‘pname‘] = $prefix.$cate[‘cate_name‘];
}

关联模型不会 还是join吧

 

无限分类

标签:

原文地址:http://www.cnblogs.com/php-linux/p/4560800.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!