筛选分类列表展示
2018-10-24 08:44:04来源:博客园 阅读 ()
接着昨天未完成的部分,下面接着实现,当筛选之后下面对应出现相关类型的内容。话不多说,先上效果图。
数据库设计:
文章表一张: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 =>&$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的标签,代码如下。
整体的效果给大家展示一下:
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:企业应用免钉流程 -- 钉钉
下一篇:TP5.0 excel 导入导出
- php实现分页显示的操作方法 2019-12-04
- PHP 结合 Boostrap 结合 js 实现学生列表删除编辑以及搜索功 2019-05-22
- PHP 结合 Bootstrap 实现学生列表以及添加学生功能实现(继 2019-05-22
- 错误处理 2019-05-18
- 函数 2019-05-18
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash