>백엔드 개발 >PHP 튜토리얼 >PHP를 사용하여 필터링 분류 목록 구현

PHP를 사용하여 필터링 분류 목록 구현

little bottle
little bottle앞으로
2019-04-23 17:32:257847검색

이 글에서 편집자는 PHP를 사용하여 필터링 및 분류 목록을 구현하는 방법을 알려드릴 것입니다. 도움이 필요한 친구들이 이에 대해 배울 수 있기를 바랍니다.

데이터베이스 디자인:

기사 테이블: art;

기사 테이블의 sortid 필드는 분류 테이블의 id와 연결되고 type_id는 유형 테이블 필드와 연결됩니다. 채워진 데이터는 대략 다음과 같습니다. sortid, type_id를 모르시면 어제 제 다른 블로그 "php는 MOOC.com 및 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方法。

프론트 엔드 페이지는 부트스트랩을 사용합니다. 어제 언급하는 것을 잊어버렸습니다. 페이지의 코드는 thinkphp 태그를 사용하여 매우 간단합니다.

전체적인 효과를 보여드리겠습니다:

<br>

 

관련 튜토리얼:

PHP 비디오 튜토리얼

위 내용은 PHP를 사용하여 필터링 분류 목록 구현의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 cnblogs.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제