zoukankan      html  css  js  c++  java
  • tp3.2上一篇下一篇功能

    1. 后台

     1  //上一页
     2 
     3         $map1['a_id'] = array('gt',$a_id);
     4         $map1['cate_id'] = array('eq',$cate_id);
     5 
     6         $front=$arc->where($map1)->order('a_id asc')->limit('1')->find();
     7 
     8 
     9         if($front){
    10 
    11             $furl=__CONTROLLER__.'/xwzxnr/cate_id/'.$front['cate_id'].'/a_id/'.$front['a_id'];
    12             $ftitle=$front['a_title'];
    13 
    14         }else{
    15 
    16             $furl="javascript:void(0);";
    17             $ftitle = "往上没有文章啦";
    18 
    19         }
    20 
    21         $this->assign('furl',$furl);
    22         $this->assign('ftitle',$ftitle);
    23 
    24         //下一页
    25 
    26         $map['a_id'] = array('lt',$a_id);
    27         $map['cate_id'] = array('eq',$cate_id);
    28 
    29         $after=$arc->where($map)->order('a_id desc')->limit('1')->find();
    30         if($after){
    31 
    32             $aurl=__CONTROLLER__.'/xwzxnr/cate_id/'.$after['cate_id'].'/a_id/'.$after['a_id'];
    33             $atitle=$after['a_title'];
    34 
    35         }else{
    36 
    37             $aurl="javascript:void(0);";
    38             $atitle = "往下没有文章啦";
    39 
    40         }
    41 
    42         $this->assign('aurl',$aurl);
    43         $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的数据的下一页数据

  • 相关阅读:
    (SenchaTouch+PhoneGap)开发笔记(2)开发环境搭建二
    Sql语句复习
    冒泡排序
    微信开发订阅号(ASP.NET MVC4+jquery mobile+AppHarbor发布)
    Ext4 ComboBox组件使用
    ExtJs 进度条(轮询)
    如何替换掉.net toolStrip控件溢出按钮背景图
    easyui-menu 宽度自适应
    Python之入门学习
    servlet和filter的区别
  • 原文地址:https://www.cnblogs.com/zsczsc/p/7204402.html
Copyright © 2011-2022 走看看