用PHP实现筛选分类列表的方法?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!
创新互联于2013年开始,先为港闸等服务建站,港闸等地企业,进行企业商务咨询服务。为港闸企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。数据库设计:
文章表一张: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实现筛选分类列表的方法大概了解了吗?希望文章内容对大家有所帮助。如果想了解更多相关文章内容,欢迎关注创新互联成都网站设计公司行业资讯频道。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。