文章翻页功能,为了避免id加一和减一不存在的情况,通过tp5 where条件查询实现

同时查出所有id的集合存放在数组,当id为第一个的时候,最后一篇即上一篇,当id为最后一个,下一篇

就是第一篇,实现循环,下面为具体代码:

public function detail(){

//获取传来的id

$id = input('id');

//更新点击量

db('news')->where('id',$id)->setInc('click');

//获取所有id的集合,存到数组中

$ids = db('news')->field('id')->order('id','asc')->select();

$idj = [];

foreach ($ids as $val){

$idj[] = $val['id'];

}

//第一个id

$fid = reset($idj);

//最后一个id

$eid = end($idj);

//获取上一篇文章,如果是第一篇,上一篇就是最后一篇

if($id == $fid){

$last = db('news')->where('id','=',$eid)->limit(1)->find();

}else{

$last = db('news')->where('id','<',$id)->order('id','desc')->limit(1)->find();

}

获取下一篇文章,如果是最后一篇,下一篇就是第一篇

if($id == $eid){

$next = db('news')->where('id','=',$fid)->limit(1)->find();

}else{

$next = db('news')->where('id','>',$id)->order('id','asc')->limit(1)->find();

}

//获取当前文章

$res = db('news')->where(['id'=>$id])->find();

return $this->fetch('',[

'res' => $res,

'last' => $last,

'next' => $next,

]);

}

tp5 实现文章上一篇和下一篇翻页相关推荐

  1. php ThinkPHP文章上一篇、下一篇解决方案

    在平时的项目中,我们常常会遇到下述的一种情况: 在文章详情页的底部位置,有上一篇.下一篇文章. 初次遇到此类问题,习惯性的按照前辈的处理思路 http://www.jb51.net/article/5 ...

  2. DEDECMS关于文章上一篇和下一篇标题长度的设置方法

    dedecms获取上一篇.下一篇文章的标签分别为:{dede:prenext get='pre'/}和{dede:prenext get='next'}.那么如何才能通过标签来控制文章标题的长度呢?其 ...

  3. Mysql实现文章查询上一篇和下一篇功能,附sql语句?

    mysql实现文章查询上一篇和下一篇功能,附sql语句? 最近在做一个项目用到的文章查询上一篇和下一篇功能,详见:http://www.yifen5.com Mysql实现文章查询上一篇和下一篇功能, ...

  4. Wordpress文章中添加上一篇、下一篇链接专题研究

    这次L.Z制作了这个Wordpress文章中添加上一篇.下一篇链接专题研究,你可以从文章当中了解到如何在文章内页当中上一篇.下一篇链接,显示特定的分类下的上一篇.下一篇,以及利用add_filter随 ...

  5. PHP实现上一篇、下一篇

    //php实现上一篇.下一篇 获取当前浏览文章id$id = isset($_GET['id']) > 0 ? intval($_GET['id']) : "";下一篇文章$ ...

  6. 关于新闻的上一篇,下一篇

    关于新闻的上一篇,下一篇 这个东东以前有朋友问过我,我写了个实例,大家可以做一参考 代码中做了注释,大家PP 问题由来主要是由于如果在数据库中删除了一篇文章后那么与它相连的其它文章判断有没有上一篇与下 ...

  7. 帝国cms内容页调用php,帝国CMS内容页调用上一篇与下一篇方法汇总

    本文实例汇总了帝国CMS内容页调用上一篇与下一篇方法.分享给大家供大家参考.具体方法如下: 一.动态调用上一篇下一篇链接 上一篇动态调用上一篇链接 下一篇动态调用下一篇链接 二.灵动标签和SQl语句调 ...

  8. 如何实现新闻上一篇、下一篇的功能

    我们在做CMS内容管理系统的时候,经常会使用到在新闻详情页浏览上一篇.下一篇的功能,这个功能可以帮助用户在新闻详情页快速的方便的浏览其他的新闻,而不用返回到新闻列表页再点击,是个相当实用的功能.今天我 ...

  9. Html做文章查看上一篇下一篇功能,SDCMS文章添加上一篇、下一篇

    SDCMS是一款小型ASP内容管理系统管理开源程序,虽然是小型的,但是主要功能都俱备.在细节方面,该款开源程序没有对内置标签进行统一的管理,不方便日后功能的修改,如果需要修改或者添加,需要去官方网站上 ...

最新文章

  1. P1502 窗口的星星 离散化+扫描线
  2. 大数据与数据挖掘考试题_大数据时代下的数据挖掘试题及答案
  3. 第五章--加载内核Kernel.bin
  4. oracle安装显示注册表,windows下oracle 11g r2 安装过程与卸载详细图解
  5. alibaba 实体转json_com.alibaba.fastjson 转换List Map等对象
  6. 深拷贝与浅拷贝深入理解
  7. QQ密码算法 用于命令行登录
  8. UGUI 图片灰显裁剪
  9. SAP学习记__物料管理(MM)模块__采购入库冲销、退货
  10. GB35114—②、公共安全视频监控联网信息安全系统互联结构
  11. Linux--Ubuntu的使用
  12. grpc系列3-自定义端镜像GOAWAY with error code ENHANCE_YOUR_CALM and debug data equal to “too_many_pings“
  13. 程序员有多喜欢树莓派?这7个开发套件让他们爱不释手!
  14. 小米机器人虚拟墙设置_大家都有就它独缺,姗姗来迟的虚拟墙方案终更新,小米扫地机器人...
  15. 可能是东半球最好看的vue3日历组件vue-baidu-calendar
  16. Collection集合层次结构图
  17. (python)实现一个简单的图片文字识别脚本
  18. 基于HTML5+CSS3小说阅读网站设计
  19. 通过nvm管理node版本
  20. ribbon.ActiveConnectionsLimit to use NEXT property: niws.loadbalancer.availabilit

热门文章

  1. 卫片执法-外业核查已上传照片下载
  2. AXI 基础第 1 讲 - AXI 简介
  3. c语言随机数猜字,玩猜字游戏顺便理解c语言的伪随机数(rand,srand)
  4. 复星、宝宝树的C2M模式将如何在新母婴时代发挥商业效益?
  5. tomcat安装教程及问题解析
  6. storyline发布方法_(完整)Articulate Storyline入门教程
  7. java编程提高篇_【Java入门提高篇】Day1 抽象类
  8. JAVA跨线程传递数据方式总结
  9. 35.文本输出函数TabbedTextOut、ExtTextOut、TextOut、SetBkColor
  10. 如何实现微信公众号自动回复