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. Centos 从零开始 (二)

    因为我是搞 nodejs的 所以以后会安装一些依赖于node的 比如mongodb数据库等. 6:安装nodejs 安装的时候遇到个小问题.yum install nodejs 报错 说没有这个包.然 ...

  2. Swift强制解析

    IDE:Xcode Version7.3.1 Swift中"数据类型?"表示这是可选类型,即 某个常量或者变量可能是一个类型,也可能什么都没有,不确定它是否有值,也许会是nil. ...

  3. datatable 转字符串

    --select stuff ((SELECT ','+bu from DT_SalesBooking group by bu for xml path('')),1,1,'')--select st ...

  4. 网站部署中遇到的问题-未能加载文件或程序集“System.Data.SQLite”或它的某一个依赖项

    问题描述: 运行站点抛出错误:未能加载文件或程序集“System.Data.SQLite”或它的某一个依赖项 原因: 应用程序池没有启用32位程序. 解决方法: 找到站点对应的应用程序池,设置启用32 ...

  5. [android] 切换界面的问题

    1. 界面重复创建的问题 2. 中间容器每次切换,都会清空容器中的子对象问题 3. 点击返回键的处理 解决重复创建的问题: 传递Class字节码对象,利用泛型来规定对象 判断界面是否存在,如果存在重复 ...

  6. Java 基础(4)——常量 & 注释

    hello 呀,今天的内容超简单( ̄︶ ̄)↗并且,还有暗藏福利哟~~ 常量 常量 就是常常不变的量,第一次定义之后,就不会发生改变了.可能这就是 “常量” 的来源吧哈哈哈(玩笑). 一般来说,常量的定 ...

  7. 简单的CRUD(一)

    一.JDBC的概述--(来源于百度) JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问, ...

  8. Expected indentation of 0 spaces but found 2

    在搭建vue项目时候,启动后就提示 http://eslint.org/docs/rules/indent Expected indentation of 0 spaces but found 2 由 ...

  9. 子div设置float后会导致父div无法自动撑开

    本文是从简书复制的, markdown语法可能有些出入, 想看"正版"和更多内容请关注 简书: 小贤笔记 注: 文章部分转载 彩泉 - 博客园 原因:内部的DIV因为float:l ...

  10. input框中如何添加搜索

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...