教程集 www.jiaochengji.com
教程集 >  脚本编程  >  php  >  正文 用PHP实现筛选分类列表

用PHP实现筛选分类列表

发布时间:2020-12-25   编辑:jiaochengji.com
教程集为您提供用PHP实现筛选分类列表等资源,欢迎您收藏本站,我们将为您提供最新的用PHP实现筛选分类列表资源
本篇文章,小编讲和大家分享用PHP实现筛选分类列表,具有一定的参考价值,有需要的朋友可以了解一下,希望能够对你有帮助。

    数据库设计:

    文章表一张:art;

文章表的sortid字段关联分类表的id,type_id关联type表字段。填充数据大致如下,如果不清楚sortid,和type_id请移步至昨天我的另一篇博客《php实现类似慕课网,教程集的分类功能 》

后端代码:

//文章列表
private function artList($type,$direct,$sort,$order="Art.readtime"){
    if(!empty($type)){
        $where['type_id'] = $type;
    }
    //找的是大分类下面的小分类
    if(!empty($direct) && !empty($sort)){
        $where['Sort.id'] = $sort;
    }else{
        //查询所有的大分类
        $sortList = M("Sort")->where("parent=0")->field("id")->select();
        //得到所有的大分类一维数组
        $list = array();
        foreach ($sortList as $item =>&$value){
            $list[] = $value['id'];
        }
        if(in_array($sort,$list)){
             //判断穿过来的分类参数是否在大分类里面
            //拿到该大分类ID的所有子分类ID
            $idList =  D("Sort")->where("parent=$sort")->field("id")->select();
            if($idList){
                $idArr = array();
                foreach ($idList as $item =>&$value){
                    $idArr[] =  $value['id'];
                }
                $ids = implode(",",$idArr);
                unset($where);
                //判断此时类型是否为空
                if(!empty($type)){
                    $where = "Art.sortid in ($ids) and Art.type_id=$type";
                }else{
                    $where = "Art.sortid in ($ids)";
                }
            }else{
                $where['Sort.id']= $sort;
            }
        }
    }

    $model  = $this->Model= "Art";
    $list   = D($model)
        ->where($where)
        ->field("Art.*")
        ->join("Sort on Sort.id=Art.sortid")
        ->order($order)
        ->select();
    return $list;
}
//代码讲解:
//在首页列表多加一个参数artList,通过传的$sort,$parent,$type三个参数来筛选对应的文章。
//代码部分我都进行了详细的注释,请看上面写的artList方法。

前端页面采用的是bootstrap,昨天忘了说,页面的代码很简单就是一个列表的展示,用到了thinkphp的标签,代码如下:

整体的效果给大家展示一下:


   

相关教程:PHP视频教程

以上就是用PHP实现筛选分类列表的详细内容,更多请关注教程集其它相关文章!

  • 本文转载于:博客园,如有侵犯,请联系jquerycn@qq.com删除
  • 您可能感兴趣的文章:
    用PHP实现筛选分类列表
    如何用python代码实现筛选
    php数组筛选奇数与偶数示例
    jQuery 表格插件整理
    在VB.NET中实现文件的拖放
    golang切片内存应用技巧
    php递归实现无限分类生成下拉列表函数代码
    PHP实现产品列表分类筛选与排序的项目实例
    PHPCMS实现多重筛选实现程序
    php实现多级分类筛选程序代码

    [关闭]
    ~ ~