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 相关文章推荐
第十三节 对象串行化 [13]
Oct 09 PHP
PHP4中session登录页面的应用
Jul 25 PHP
php程序之die调试法 快速解决错误
Sep 17 PHP
11个PHP 分页脚本推荐
Aug 15 PHP
php中定时计划任务的实现原理
Jan 08 PHP
Zend的Registry机制的使用说明
May 02 PHP
phpmailer发送邮件之后,返回收件人是否阅读了邮件的方法
Jul 19 PHP
PHP处理数组和XML之间的互相转换
Jun 02 PHP
curl 出现错误的调试方法(必看)
Feb 13 PHP
php文件操作之文件写入字符串、数组的方法分析
Apr 15 PHP
解决laravel中日志权限莫名变成了root的问题
Oct 17 PHP
浅谈laravel orm 中的一对多关系 hasMany
Oct 21 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
thinkphp中多表查询中防止数据重复的sql语句(必看)
2016/09/22 PHP
浅析PHP中json_encode与json_decode的区别
2020/07/15 PHP
阻止JavaScript事件冒泡传递(cancelBubble 、stopPropagation)
2007/05/08 Javascript
ajax异步刷新实现更新数据库
2012/12/03 Javascript
jQuery 回车事件enter使用示例
2014/02/18 Javascript
Javascript解析URL方法详解
2014/12/05 Javascript
jquery实现的横向二级导航效果代码
2015/08/26 Javascript
高效的jquery数字滚动特效
2015/12/17 Javascript
JavaScript编写页面半透明遮罩效果的简单示例
2016/05/09 Javascript
AngularJS入门教程之过滤器详解
2016/08/19 Javascript
js使用Replace结合正则替换重复出现的字符串功能示例
2016/12/27 Javascript
jQuery插件FusionCharts实现的2D面积图效果示例【附demo源码下载】
2017/03/06 Javascript
9102年webpack4搭建vue项目的方法步骤
2019/02/20 Javascript
详解微信小程序获取当前时间及日期的方法
2019/04/28 Javascript
小程序使用watch监听数据变化的方法详解
2019/09/20 Javascript
用Angular实现一个扫雷的游戏示例
2020/05/15 Javascript
[02:53]DOTA2亚洲邀请赛 NewBee战队巡礼
2015/02/03 DOTA
在Docker上开始部署Python应用的教程
2015/04/17 Python
Python文件和流(实例讲解)
2017/09/12 Python
wxpython实现图书管理系统
2018/03/12 Python
Python基于多线程实现抓取数据存入数据库的方法
2018/06/22 Python
mvc框架打造笔记之wsgi协议的优缺点以及接口实现
2018/08/01 Python
实例讲解python中的序列化知识点
2018/10/08 Python
opencv 获取rtsp流媒体视频的实现方法
2019/08/23 Python
python 实现一个反向单位矩阵示例
2019/11/29 Python
Python Pillow.Image 图像保存和参数选择方式
2020/01/09 Python
Python3使用 GitLab API 进行批量合并分支
2020/10/15 Python
联想墨西哥官方网站:Lenovo墨西哥
2016/08/17 全球购物
2014年两会学习心得体会
2014/03/17 职场文书
职务聘任书范文
2014/03/29 职场文书
新闻传媒系求职信范文
2014/04/19 职场文书
管理提升方案
2014/06/04 职场文书
2015年宣传工作总结
2015/04/08 职场文书
2015年法院工作总结范文
2015/04/28 职场文书
大学生就业意向书
2015/05/11 职场文书
Vue elementUI表单嵌套表格并对每行进行校验详解
2022/02/18 Vue.js