ThinkPHP分类查询(获取当前分类的子分类,获取父分类,下一级分类)

Posted 帅到要去报警

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ThinkPHP分类查询(获取当前分类的子分类,获取父分类,下一级分类)相关的知识,希望对你有一定的参考价值。

 获取指定分类的所有子分类ID号

//获取指定分类的所有子分类ID号
function getAllChildcateIds($categoryID){
    //初始化ID数组
    $array[] = $categoryID;
    do {
        $ids = ‘‘;
        $where[‘pid‘] = array(‘in‘,$categoryID);
        $cate = M(‘cate‘)->where($where)->select();
        foreach ($cate as $k=>$v){
            $array[] = $v[‘id‘];
            $ids .= ‘,‘ . $v[‘id‘];
        }
        $ids = substr($ids, 1, strlen($ids));
        $categoryID = $ids;
    }
    while (!empty($cate));
    $ids = implode(‘,‘, $array);
    return $ids;    //  返回字符串
    //return $array //返回数组
}

 

获取指定分类所有父ID号

//获取指定分类所有父ID号
function getAllFcateIds($categoryID){
//初始化ID数组
$array[] = $categoryID; 
do{
    $ids = ‘‘;
    $where[‘id‘] = array(‘in‘,$categoryID);
    $cate = M(‘cate‘)->where($where)->select();
    echo M(‘cate‘)->_sql();
    foreach ($cate as $v){
        $array[] = $v[‘pid‘];
        $ids .= ‘,‘ . $v[‘pid‘];
    }
    $ids = substr($ids, 1, strlen($ids));
    $categoryID = $ids;
}
while (!empty($cate));
$ids = implode(‘,‘, $array);
 return $ids;   //  返回字符串
//return $array //返回数组
}

 

获取指定分类的所有子分类 键为ID,值为分类名

//获取指定分类的所有子分类 键为ID,值为分类名
function getCateKv($categoryID){
    //初始化ID数组,赋值当前分类
    $array[] = M(‘cate‘)->where("id={$categoryID}")->getField("cateName");
    do {
        $ids = ‘‘;
        $where[‘pid‘] = array(‘in‘,$categoryID);
        $cate = M(‘cate‘)->where($where)->select();
        echo M(‘cate‘)->_sql();
        foreach ($cate as $k=>$v) {
            $array[$v[‘id‘]] = $v[‘cateName‘];
            $ids .= ‘,‘ . $v[‘id‘];
        }
        $ids = substr($ids, 1, strlen($ids));
        $categoryID = $ids;
    }
    while (!empty($cate));
    $ids = implode(‘,‘, $array);
     //return $ids; //  返回字符串
    return $array //返回数组
}

 

以上是关于ThinkPHP分类查询(获取当前分类的子分类,获取父分类,下一级分类)的主要内容,如果未能解决你的问题,请参考以下文章

Think PHP递归获取所有的子分类的ID (删除当前及子分类)

thinkphp5.0无限极分类及格式化输出

ecshop怎么让分类页显示当前顶级分类的所有子分类?

thinkphp-无限分类下根据任意部门获取顶级部门ID

问答项目---删除分类的时删除其子分类

php 获取自定义分类分类当前id标记当前id