PHP を使用してフィルタリング分類リストを実装する

little bottle
リリース: 2023-04-06 10:04:01
転載
7813 人が閲覧しました

この記事では、編集者が PHP を使用してリストをフィルタリングおよび分類する方法を共有します。これには一定の参考価値があります。困っている友人はそれについて学ぶことができます。お役に立てれば幸いです。

## データベース設計:

記事テーブル: art;

## sortid記事テーブルのフィールドは分類テーブルの id に関連付けられ、type_id はタイプ テーブルのフィールドに関連付けられます。埋め込まれたデータはおおよそ次のとおりです。sortid と type_id がわからない場合は、昨日の別のブログ「MOOC.com と php の中国語 Web サイトに似た分類機能を 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 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
php
ソース:cnblogs.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート