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 //返回数组
}
时间: 2024-10-25 08:25:06

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

12.首页一级分类的显示

首页index.jsp上面一级分类显示是包含的menu.jsp,页面上的一级分类是在进入主页时就显示,所以要在IndexAction中查询到一级分类信息后再返回逻辑视图. 1.先创建一级分类的表 CREATE TABLE `category` ( `cid` int(11) NOT NULL AUTO_INCREMENT, `cname` varchar(255) DEFAULT NULL, PRIMARY KEY (`cid`) ) ENGINE=InnoDB AUTO_INCREMENT=8

Goods:图书模块按分类查询各层实现

BookDao 1 //按分类查询 2 public PageBean<Book> findByCategory(String cid,int pc) throws SQLException 3 { 4 List<Expression> exprList=new ArrayList<Expression>(); 5 exprList.add(new Expression("cid", "=", cid)); 6 return fi

夺命雷公狗ThinkPHP项目之----企业网站10之栏目的编辑完善(无限极分类的完成)

我们编辑首先就要考虑将下拉框效果实现出来,然后再进行下一步操作: 我们用到了Model层的操作,在第8讲里面其实已经写好了catTree方法,控制器如下所示: 然后在列表页然他变量进行输出 然后开始通过接收post传过来的参数进行修改,但是有一点必须要考虑的, 水果 为顶级栏目, 苹果为 水果的下一级栏目,所以我们不能让水果变成苹果的下级栏目,我们居然考虑到这了,所以我们还是需要通过判断的, 让爸级栏目不能一下变成孙级栏目,不然发生全家族集体失终的“惨剧”哦.... 我们的解决方法是在显示的时候

SQL处理多级分类,查询结果呈树形结构

对于多级分类常规的处理方法,很多程序员可能是用程序先读取一级分类记录,然后通过一级分类循环读取下面的子分类 这样处理的弊端是:如果数据量大,子分类很多,达到4级以上,这方法处理极端占用数据库连接池 对性能影响很大. 如果用SQL下面的CTE递归处理的话,一次性就能把结果给查询出来,而且性能很不错 比用程序处理(数据量很大的情况),临时表性能更好,更方便 with area as(select *,id px,cast(id as nvarchar(4000)) px2 from region w

网上商城3--首页一级分类的查询

1.创建表:(一级分类) CREATE TABLE `category` ( `cid` int(11) NOT NULL AUTO_INCREMENT, `cname` varchar(255) DEFAULT NULL, PRIMARY KEY (`cid`) ) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8; INSERT INTO `category` VALUES ('1', '女装男装'); INSERT INTO `cate

最基础的PHP分类查询程序

最初级的PHP分类查询程序 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv=

SQL 语句与性能之联合查询和联合分类查询

select * from t1 left join t2 on t2.sysno =t1.ASysNo left join t3 on t3.sysno =t2.ASysNo left join t4 on t4.sysno =t3.ASysNo left join t5 on t5.sysno =t4.ASysNo left join t6 on t6.sysno =t5.ASysNo left join t7 on t7.sysno =t6.ASysNo where t1.name lik

15.首页查询一级分类商品列出左侧分类信息

首页上点击一级分类跳转到商品列表页面,左侧显示一级分类与二级分类信息. 1.在menu.jsp上添加action,传递一级分类cid. <li><a href="${pageContext.request.contextPath }/product_findByCid?cid=<s:property value="#c.cid"/>"><s:property value="#c.cname"/>&l

php中递归无限分类之-通过子栏目查找父栏目

<?php header("content-type:text/html;charset=utf8"); /*通过子栏目查找父栏目,范围小到范围大*/ $area = array( array('cat_id'=>1,'province'=>'福建省','parent_id'=>0), array('cat_id'=>2,'province'=>'龙岩市','parent_id'=>1), array('cat_id'=>3,'provi