用PHP实现筛选分类列表-php教程

资源魔 32 0
本篇文章,小编媾和各人分享受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完成挑选分类列表的具体内容,更多请存眷资源魔其它相干文章!

标签: php php开发教程 php开发资料 php开发自学 筛选分类列表

抱歉,评论功能暂时关闭!