PHP简单实现上一页下一页功能示例


Posted in PHP onSeptember 14, 2016

本文实例讲述了PHP简单实现上一页下一页功能。分享给大家供大家参考,具体如下:

思路整理:

现在好多人用id的增1和减1实现上一篇和下一篇,但是难道文章ID不会断了吗?所以你要知道上个ID和个ID是多少就OK了。

那怎么解决这个问题呢,很简单!

例子:

假如这篇文章的ID200

<a href="?action=up&id=200">上一篇</a>
<a href="?action=down&id=200">下一篇</a>

如果是实现上一篇就在action=up页面写函数

$id= $_GET['id'];
//上一篇:
$sql= select * from article where id < '.$id.' order by id desc limit 0,1';
$rs= mysql_query($sql);
$row= mysql_fetch_array ($rs);
//下一篇:
$sql= select * from article where id < '.$id.' order by id asc limit 0,1';
$rs= mysql_query($sql);
$row= mysql_fetch_array ($rs);

原理,查询比当前ID小(where id < '.$id.'上一篇)和比当前ID大(where id > '.$id.'下一篇)的1条(limit 0,1)数据,并按降序(desc,上一篇)和升序(asc,下一篇)显示出来,当只取一篇的时候,可以省略降序或升序。

具体实现代码:注需要传递参数

前台在上一篇,下一篇处调用:

<?php
 echo GetPreNext(pre,news,$_REQUEST[catid],$_REQUEST[id]);?>
//显示上一篇下一篇
 function GetPreNext($gtype,$table,$catid,$id){
 $preR=mysql_fetch_array(mysql_query("select * from ".$table." where catid=".$catid." and id<$id order by id desc limit 0,1"));//id比传入id小的最近一条
 $nextR=mysql_fetch_array(mysql_query("select * from ".$table." where catid=".$catid." and id>$id order by id asc limit 0,1"));//id比传入id大的最近一条
  $next = (is_array($nextR) ? " where id={$nextR['id']} " : ' where 1>2 ');
  $pre = (is_array($preR) ? " where id={$preR['id']} " : ' where 1>2 ');
   $query = "Select * from ".$table." ";
      $nextRow =mysql_query($query.$next);
      $preRow = mysql_query($query.$pre);
      if($PreNext=mysql_fetch_array($preRow))
      {
       echo $PreNext['pre'] = "上一篇:<a href='newsshow.php?id=".$preR['id']."&&catid=".$catid."'>".$PreNext['title']."</a> ";
      }
      else
      {
       echo $PreNext['pre'] = "上一篇:没有了 ";
      }
      if($PreNext=mysql_fetch_array($nextRow))
      {
       echo $PreNext['next'] = "下一篇:<a href='newsshow.php?id=".$nextR['id']."&&catid=".$catid."'>".$PreNext['title']."</a> ";
      }
      else
      {
        echo $PreNext['next'] = "下一篇:没有了 ";
      }
}

代码经测试可用

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
php判断输入不超过mysql的varchar字段的长度范围
Jun 24 PHP
基于PHP一些十分严重的缺陷详解
Jun 03 PHP
thinkphp中连接oracle时封装方法无法用的解决办法
Jun 17 PHP
解析PHP可变函数的经典用法
Jun 20 PHP
ThinkPHP中自定义错误页面和提示页面实例
Nov 22 PHP
php上传中文文件名乱码问题处理方案
Feb 03 PHP
启用Csrf后POST数据时出现的400错误
Jul 05 PHP
php执行多个存储过程的方法【基于thinkPHP】
Nov 08 PHP
PHP通过引用传递参数用法分析
Dec 01 PHP
PHP获取二叉树镜像的方法
Jan 17 PHP
Codeigniter里的无刷新上传的实现代码
Apr 14 PHP
PHP获取远程http或ftp文件的md5值的方法
Apr 15 PHP
PHP自定义函数格式化json数据示例
Sep 14 #PHP
ThinkPHP中session函数详解
Sep 14 #PHP
PHP大神的十大优良习惯
Sep 14 #PHP
thinkPHP的表达式查询用法详解
Sep 14 #PHP
PHP实现对二维数组某个键排序的方法
Sep 14 #PHP
Laravel+jQuery实现AJAX分页效果
Sep 14 #PHP
php+ajax实现带进度条的上传图片功能【附demo源码下载】
Sep 14 #PHP
You might like
php在服务器执行exec命令失败的解决方法
2012/03/03 PHP
PHP 第一节 php简介
2012/04/28 PHP
php上传文件,创建递归目录的实例代码
2013/10/18 PHP
PHP资源管理框架Assetic简介
2014/06/12 PHP
Yii实现单用户博客系统文章详情页插入评论表单的方法
2015/12/28 PHP
php添加数据到xml文件的简单例子
2016/09/08 PHP
JavaScript 组件之旅(一)分析和设计
2009/10/28 Javascript
Javascript遍历Html Table示例(包括内容和属性值)
2014/07/08 Javascript
jQuery中ajax和post处理json的不同示例对比
2014/11/02 Javascript
jQuery对象的length属性用法实例
2014/12/27 Javascript
js实现input框文字动态变换显示效果
2015/08/19 Javascript
Node.js中使用socket创建私聊和公聊聊天室
2015/11/19 Javascript
web打印小结
2017/01/11 Javascript
jQuery Autocomplete简介_动力节点Java学院整理
2017/07/17 jQuery
简单实现js放大镜效果
2017/07/24 Javascript
Angularjs渲染的 using 指令的星级评分系统示例
2017/11/09 Javascript
对类Vue的MVVM前端库的实现代码
2018/09/07 Javascript
封装一下vue中的axios示例代码详解
2020/02/16 Javascript
[00:37]DOTA2上海特级锦标赛 OG战队宣传片
2016/03/03 DOTA
Python使用minidom读写xml的方法
2015/06/03 Python
python中ASCII码和字符的转换方法
2018/07/09 Python
如何在django里上传csv文件并进行入库处理的方法
2019/01/02 Python
十分钟搞定pandas(入门教程)
2019/06/21 Python
python3 打印输出字典中特定的某个key的方法示例
2019/07/06 Python
Python3运算符常见用法分析
2020/02/14 Python
python MultipartEncoder传输zip文件实例
2020/04/07 Python
英国最大的在线奢侈手表零售商:Jura Watches
2018/01/29 全球购物
Theory美国官网:后现代都市风时装品牌
2018/05/09 全球购物
美国儿童服装、家具和玩具精品店:Maisonette
2019/11/24 全球购物
澳大利亚头发和美容产品购物网站:OZ Hair & Beauty
2020/03/27 全球购物
应聘美工求职信
2013/11/07 职场文书
任命书怎么写
2014/06/04 职场文书
Nginx本地目录映射实现代码实例
2021/03/31 Servers
HTML5中 rem适配方案与 viewport 适配问题详解
2021/04/27 HTML / CSS
Redis中key的过期删除策略和内存淘汰机制
2022/04/12 Redis
解决flex布局中子项目尺寸不受flex-shrink限制
2022/05/11 HTML / CSS