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. [转]vs2012 + web api + OData + EF + MYsql 开发及部署

    本文转自:http://www.cnblogs.com/liumang/p/4403436.html 先说下我的情况,b/s开发这块已经很久没有搞了,什么web api .MVC.OData都只是听过 ...

  2. C#把大写英文变成小写英文,把小写英文变成大写英文

    static void Main(string[] args) { string s;  // 声明一个变量,来接受用户输入的值. Console.WriteLine("请输入一个字符串:& ...

  3. 生成自签名证书-开启https

    1.生成CA证书 # 生成 CA 私钥 openssl genrsa -out ca.key 2048 # X.509 Certificate Signing Request (CSR) Manage ...

  4. HttpServletResponse对象(二)之常见应用

    ---恢复内容开始--- 1. 使用HttpServletResponse对象实现文件下载 文件下载功能是web开发中经常使用到的功能,使用HttpServletResponse对象就可以实现文件的下 ...

  5. Effective C++ .12 复制对象-拷贝构造函数的编写

    当我们自己编写拷贝构造函数时,编译器就不会为该类生成默认拷贝构造函数了,对于assignment operator也是如此. 1. 拷贝构造函数中记得调用父类的拷贝构造函数,或者相应复制过程 clas ...

  6. javaweb servlet jsp简单笔记

    第二章: 1: web 俗称 : 万维网  www 2: web开发 的三大核心: HTML(网页) ,URL(定位),HTTP:(协议) 页面的分类: 静态页面: html+css 动态页面:jsp ...

  7. Sencha Architect打开闪退问题修复

    删除以下位置的cache文件夹 C:\Users\Administrator\AppData\Local\Sencha\Sencha Architect 3.2\Cache bug解决参考 https ...

  8. windows server 2008远程桌面最大连接数设置

    1. 运行gpedit.msc: 2. 选择计算机配置-->管理模板-->Windows组件-->远程桌面服务-->远程桌面会话主机-->连接: 3. 双击“限制连接的数 ...

  9. UNIX/Linux系统管理技术手册(1)----脚本和shell

    1. 管道和重定向 (i) 要让第二条命令只有在第一条命令成功完成之后才执行,可以用一个 && 符号把两条命令隔开.例如: $ > /dev/null && cd ...

  10. 【Udacity】线性回归方程 Regression

    Concept in English Coding Portion 评估回归的性能指标--R平方指标 比较分类和回归 Continuous supervised learning 连续变量监督学习 R ...