分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > IT知识

ThinkPHP3.2中文章内容页的上一篇,下一篇功能,以及分类功能的实现

发布时间:2023-09-06 01:40责任编辑:郭大石关键词:PHP

上一篇下一篇功能的实现

模型层:注意:数据表的ID应为自动递增的情况下

 ?public function newsBeforeAfter($url,$id,$cate_id){ ???????//上一篇
     $where=array(); ???????$where[‘checks‘]=array(‘eq‘,1);//该条内容是否审核 ???????$where[‘id‘]=array(‘lt‘,$id);//上一篇ID应该小于当前接收到的ID ???????$where[‘cate_id‘]=array(‘eq‘,$cate_id);//分类ID ???????$front=$this->where($where)->order(‘id desc‘)->limit(‘1‘)->find();//上一篇文章查出来 ???????if($front){ ???????????$burl=$url."/id/".$front[‘id‘].‘/‘.‘cate_id‘.‘/‘.$front[‘cate_id‘];//成功!上一篇文章跳转地址 ???????}else{ ???????????$burl="javascript:void(0);"; ???????}
    //下一篇
     $data=array(); ???????$data[‘id‘]=array(‘gt‘,$id);//下一篇的ID应该大于当前接收的id ???????$data[‘checks‘]=array(‘eq‘,1); ???????$data[‘cate_id‘]=array(‘eq‘,$cate_id); ???????$after=$this->where($data)->order(‘id asc‘)->limit(‘1‘)->find();//下一篇文章查出来 ???????if($after){ ???????????$aurl=$url."/id/".$after[‘id‘].‘/‘.‘cate_id‘.‘/‘.$after[‘cate_id‘];//成功,下一篇的跳转地址 ???????}else{ ???????????$aurl="javascript:void(0);"; ???????} ???????return array($front,$burl,$after,$aurl); ???}

视图层:例子:

<li><a>上一个:</a><if condition="$btitle eq null">已经没有了!<else/><a title="<{$btitle[‘title‘]}>" href="<{:U($burl)}>"><{$btitle[‘title‘]}></a></if></li><li><a>下一个:</a><if condition="$atitle eq null">已经没有了!<else/><a title="<{$atitle[‘title‘]}>" href="<{:U($aurl)}>"><{$atitle[‘title‘]}></a></if></li> ??

控制器:

//上一篇下一篇 ???????????$url="Home/Product/product23"; ???????????$url=$this->news->newsBeforeAfterP($url,$id,$cate_id); ???????????//上一篇文章内容 ???????????$this->assign(‘btitle‘,$url[0]); ???????????//上一篇地址 ???????????$this->assign(‘burl‘,$url[1]); ???????????//下一篇文章内容 ???????????$this->assign(‘atitle‘,$url[2]); ???????????//下一篇文章地址 ???????????$this->assign(‘aurl‘,$url[3]);

 分类二三级功能的实现以及分类查询子分类的减少查询数据库的方法

1.分类查询子分类的减少查询数据库的方法

模型类:

public function getGcategoryList($id=0) { ???????$arr = $this->select();//查询数据库 ???????foreach ($arr as $k => $v) { ???????????if ($v[‘parent_id‘] == $id) { ???????????????$retNext[$k][‘cate_id‘] = $v[‘cate_id‘]; ???????????????$retNext[$k][‘cate_name‘] = $v[‘cate_name‘]; ???????????????$retNext[$k][‘parent_id‘] = $v[‘parent_id‘]; ???????????????$retNext[$k][‘next‘] = 0;//用于判断是否还有子类 ???????????????foreach ($arr as $vv) { ???????????????????if ($vv[‘parent_id‘] == $v[‘cate_id‘]) { ???????????????????????$retNext[$k][‘next‘] = 1; ???????????????????????break; ???????????????????} ???????????????} ???????????????return array($retNext, $arr); ???????????} ???????} ???}

2.分类二三级功能的实现

控制器:

$list=M(‘Category‘)->select();$this->assign(‘list‘,$list);

视图层:

          <div class="bbD">上级分类: ???????????????????????<select name="parent_id" id="" style="margin-left: 20px"> ???????????????????????????<option value="">--请选择--</option> ???????????????????????????<foreach name="list" item="v"> ???????????????????????????????<if condition="$v[‘parent_id‘] eq 0">//首先获取第一层分类 ???????????????????????????????????<option value="<{$v[‘cate_id‘]}>"><{$v[‘cate_name‘]}></option> ???????????????????????????????????<foreach name="list" item="vv"> ???????????????????????????????????????<if condition="$vv[‘parent_id‘] eq $v[‘cate_id‘]">//根据父类ID查询出二级分类。。。 ???????????????????????????????????????????<option value="<{$vv[‘cate_id‘]}>">|-->|<{$vv[‘cate_name‘]}></option> ???????????????????????????????????????????<foreach name="list" item="vvv"> ???????????????????????????????????????????????<if condition="$vvv[‘parent_id‘] eq $vv[‘cate_id‘]"> ???????????????????????????????????????????????????<option value="<{$vvv[‘cate_id‘]}>">|-->|-->|<{$vvv[‘cate_name‘]}></option> ???????????????????????????????????????????????</if> ???????????????????????????????????????????</foreach> ???????????????????????????????????????</if> ???????????????????????????????????</foreach> ???????????????????????????????</if> ???????????????????????????</foreach> ???????????????????????</select> ???????????????????</div>

ThinkPHP3.2中文章内容页的上一篇,下一篇功能,以及分类功能的实现

原文地址:https://www.cnblogs.com/houbingxu2014025681/p/8391537.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved