1. 后台

  //上一页

         $map1['a_id'] = array('gt',$a_id);
$map1['cate_id'] = array('eq',$cate_id); $front=$arc->where($map1)->order('a_id asc')->limit('1')->find(); if($front){ $furl=__CONTROLLER__.'/xwzxnr/cate_id/'.$front['cate_id'].'/a_id/'.$front['a_id'];
$ftitle=$front['a_title']; }else{ $furl="javascript:void(0);";
$ftitle = "往上没有文章啦"; } $this->assign('furl',$furl);
$this->assign('ftitle',$ftitle); //下一页 $map['a_id'] = array('lt',$a_id);
$map['cate_id'] = array('eq',$cate_id); $after=$arc->where($map)->order('a_id desc')->limit('1')->find();
if($after){ $aurl=__CONTROLLER__.'/xwzxnr/cate_id/'.$after['cate_id'].'/a_id/'.$after['a_id'];
$atitle=$after['a_title']; }else{ $aurl="javascript:void(0);";
$atitle = "往下没有文章啦"; } $this->assign('aurl',$aurl);
$this->assign('atitle',$atitle);

2. 前台

 <a href="{$furl}">上一篇:{$ftitle}</a>
<a href="{$aurl}">下一篇:{$atitle}</a>

注:为什么 上一页的排序是 asc ,下一页的排序是desc

这里以客户看到的第一条数据为最新数据为前提,所以总数据肯定是倒序排列(即 desc)

在上面这种情况下,上一页的数据的主键值比当前页的数据的主键值大一,下一页的数据的主键值比当前页的数据的主键值小一,如下图:

上一页排序原理:

如果主键值为198的数据为当前页的话,它的下一页没有,上一页就是主键值为199的数据。所以上一一页的排序就应该按照 a_id asc排序,第一条数据就是 主键值199的数据,取到该数据即为主键值为198的数据的上一页数据

下一页排序原理:

如果主键值为200的数据为当前页的话,它的上一页没有,下一页就是主键值为199的数据。所以下一页的排序就应该按照 a_id desc排序,第一条数据就是 主键值199的数据,取到该数据即为主键值为200的数据的下一页数据

tp3.2上一篇下一篇功能的更多相关文章

  1. ecshop调用文章显示上一篇下一篇

    首先调用文章中的上一篇和下一篇语法为:  代码如下 复制代码 上一篇:<a href="{$next_article.url}">{$next_article.titl ...

  2. thinkphp5.0 文章详情页 上一篇 下一篇

    // 上一篇下一篇(同一个分类下,先确定该分类的pid) public function frontAfter() { $param=$this->param; $front=Db::name( ...

  3. MVC3学习:实现文章上一篇下一篇链接

    文章的显示都是通过id查询数据库来显示.但是文章会经常删除,因此id号可能不是连续的,所以上一篇下一篇文章,不能简单的做id加减法. 我的思路是:先将表格中所有文章的ID号全部放入一个数组中,如果文章 ...

  4. dedecms手机网站内页上一篇/下一篇的翻页功能

    修改文件include/arc.archives.class.php文件. 1.搜索 function GetPreNext($gtype='') 2.将这个函数的所有内容替换为 function G ...

  5. phpcms v9文章内容页调用上一篇下一篇的方法(转)

    phpcms v9文章内容页调用上一篇下一篇的方法如下,魔客吧(www.moke8.com)提示您直接摘取如下代码中的红色部分即可: 上一篇:{$previous_page[url]}" t ...

  6. ShopEx文章页添加上一篇下一篇功能

    在全部的文章页中,会常常发现都会有这么一个功能.能引导用户去查看上一篇文章或下一篇文章,而在ShopEx中,我DEZEND了一下文章模型.并没有找到上一篇这种函数功能,因此,这就须要我们手动在相应的文 ...

  7. thinkPHP中的文章详情页实现“上一篇下一篇”功能经验分享

    前段时间在公司中接触到了用thinkPHP搭建的项目,其中涉及到了文章详情页上一篇下一篇翻页的功能实现效果. 因为刚接触这套框架和PHP,所以整理一下实现该功能的经验方法. 如果有不到位的地方,欢迎指 ...

  8. wordpress文章显示同一分类下的上一篇下一篇

    我们在用wordpress开发网站的时候会在文章页中引入上一篇下一篇,但是发现新闻页的上下文章有可能是产品分类的post,这个就不太合理,如何显示同一分类下的上一篇下一篇文章呢?随ytkah一起来看看 ...

  9. phpcms新闻详情页上一篇下一篇的实现

    在新闻详情页(show.html或show_*.html) 只需要添加类似如下代码即可: <div>上一篇:<a href="{$previous_page[url]}&q ...

随机推荐

  1. YII框架一个请求的生命周期

    用户向入口脚本 web/index.php 发起请求. 入口脚本加载应用配置并创建一个应用实例去处理请求. 应用通过请求组件解析请求的路由. 应用创建一个控制器实例去处理请求. 控制器创建一个操作实例 ...

  2. angular-ui-router动态加载模块

    1.定义index.html主页,对于通用的js就不用require依赖加载了,其中main.js作为主模块,用require添加系统路由模块. <!DOCTYPE html> <h ...

  3. 8、导航:Nav

    1.导航视图   angular2 中的是视图是显示在<router-outlet></router-outlet>里的同时他要依赖于 directives:[ ROUTER_ ...

  4. java 并发(六) --- 锁

          阅读前阅读以下参考资料,文章图片或代码部分来自与参考资料 概览 一张图了解一下java锁. 注 : 阻塞将会切换线程,切换内核态和用户态,是比较大的性能开销 各种锁 为什么要设置锁的等级 ...

  5. Vue(五)--组件

    1.组件也需要进行注册才可以使用:分为局部注册和全局注册 <body> <div id="app" > <my-component></m ...

  6. JQ(查找)

    1.由下级到上级再到下级 var aa=$("td:eq(0)").parents("tr").find("td:eq(1)"); 2.

  7. java时间工具类

    在项目中,很多地方需要根据时间获取相应的数据,将时间格式化,或者时间比较等相关操作.一个良好的工具类不仅可以减少代码冗余,还能促进业务处理,加快进度. /** * @author: lxw * @Da ...

  8. div按照屏幕尺寸(设备大小)进行缩放

    原理:利用css3 transform 属性 代码: body{ width: 810px; height: 340px; margin: 0px; padding: 0px; background- ...

  9. 嵌套Golang对象的初始化

      比如有这样一个对象: type ProductConfig struct {     Site map[string]string } 对应的初始化可以如下写: var pc ProductCon ...

  10. css-flex布局知识梳理

    一.传统的布局 布局的传统解决方案,基于盒装模型,依赖 display 属性 + position属性 + float属性.它对于那些特殊布局非常不方便,比如,垂直居中就不容易实现. 二. Flex的 ...