首页 > 编程 > PHP > 正文

用PHP实现筛选分类列表

2020-03-22 17:35:56
字体:
来源:转载
供稿:网友
本篇文章,小编讲和大家分享用PHP实现筛选分类列表,具有一定的参考价值,有需要的朋友可以了解一下,希望能够对你有帮助。

数据库设计:

文章表一张:art;

文章表的sortid字段关联分类表的id,type_id关联type表字段。填充数据大致如下,如果不清楚sortid,和type_id请移步至昨天我的另一篇博客《php实现类似慕课网,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 = $html' target='_blank'>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教程

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表