作者:欠你的情意 | 来源:互联网 | 2020-07-16 01:07
本篇文章,小编讲和大家分享用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社区 其它相关文章!