始终坚信
好记性不如赖笔头!

ThinkPHP中处理分类常使用到的方法集合类

类里面的主要方法如下
(1)php组合一维数组
(2)php组合多维数组
(3)php传递一个子级返回父级id 例如:首页>>服装>>女装>>裙子
(4)php传递一个父级ID返回所有子级分类
(5)php获取指定父id的所有分类
(6)php生成树形结构数组

>服装>>女装>>裙子
    Static public function getParents($cate,$id){
        $arr=array();
        foreach($cate as $v){
            if($v['id']==$id){
                $arr[]=$v;
                $arr=array_merge(self::getParents($cate,$v['pid']),$arr);
            }
        }
        return $arr;
    }
    
    //传递一个父级ID返回所有子级分类
    Static public function getChiIds($cate,$pid,$str=0){
        $arr=array();
        static $strarr = array();
        foreach ($cate as $v){
            if($v['pid']==$pid){
                $arr[]= $v;
                $strarr[] = $v['id'];
                $arr=array_merge($arr,self::getChiIds($cate,$v['id']));
            }
        }
        return $str == 1 ? $strarr : $arr;
    }
    
    //获取指定父id的所有分类
    static public function getCateByPid($cate,$pid=0){
        $arr = array();
        foreach($cate as $v){
            if($v['pid']==$pid){
                $arr[] = array('id'=>$v['id'],'name'=>$v['name']);
            }
        }
        return $arr;
    }
    
    //生成树形结构数组
    static public function getCateTreeArr($cate,$pid){
        $arr = array();
        foreach($cate as $v){
            if($v['pid']==$pid){
                $child = Category::getCateTreeArr($cate,$v['id']);
                if($child){
                    $v['child'] = $child;
                }
                $arr[] = $v;
            }
        }
        return $arr;
    }
}
/********************
这是一个文章分类表的设置
CREATE TABLE IF NOT EXISTS `yk_article_cate` (
  `id` smallint(4) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(100) NOT NULL,
  `alias` varchar(50) NOT NULL,
  `pid` smallint(4) unsigned NOT NULL DEFAULT '0',
  `spid` varchar(50) NOT NULL,
  `ordid` smallint(4) unsigned NOT NULL DEFAULT '255',
  `status` tinyint(1) NOT NULL DEFAULT '1',
  `seo_title` varchar(255) NOT NULL,
  `seo_keys` varchar(255) NOT NULL,
  `seo_desc` varchar(255) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
**************/

?>
]]>

赞(0)
本站未标注原创文章均为转载,如有侵权请告知!二宝博客 » ThinkPHP中处理分类常使用到的方法集合类

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址