我们都知道用php+mysql在web 页实现数据库资料全部显示是非常简单而有趣的,数据库资料很少的情况下页面显示还是让人满意的,但是当数据库资料非常多的情况下,页面的显示情况将会变的非常糟糕,下面就来介绍一下如何实现当前页面数据资料显示数量及如何实现动态的翻转功能。

这里将介绍两种翻页显示功能的实现:

先介绍一下在翻页中用到的数据库语法:

mysql_query("select * from table order by id desc");

这条数据库语句再熟悉不过了,是用来搜索记录并倒序地显示出来,但并不能在翻页功能中起作用,而下面这个扩展了的语法才是实现翻页的核心功能:

mysql_query("select * from table order by id desc limit $start,$limit");

这里的 $start 是数据库搜索的起始行,$limit 是从起始行开始搜索到 $limit 条记录结束,好了,有了这个核心功能后,我们可以开始翻页功能了。

第一种翻页功能:这里介绍的功能是翻页功能中最简单的一种,只能实现向前翻页和向后翻页,本站的非常新闻和下载中心的翻页功能就是这种。

先介绍翻页功能实现的思路:

先确定当前页固定显示的数据记录数量,假设为 20 条记录,设定 $limit 的值为 20: $limit=20;

显示数据库记录时,必须是从第一条开始显示,所以这里设置 $start 的初始值为 0:$start=0;

翻页功能的实现依赖 $start 的动态变化,当向后翻页时 $start 规律地加上 $limit:$start+$limit;而向前翻页时 $start 则规律地减去 $limit:$start-$limit;

有了以上的思路后,可以开始设计程序了

page.php:

//设置当前页显示的数量(这个数量可任意设置)

$limit=20;

//初始化数据库搜索起始记录

if (!emptyempty($start)) $start=0;

mysql_connect("localhost","","");

mysql_select_db(database);

//设置数据库记录总数

$result=mysql_query("select * from table");

$num_max=mysql_numrows($result);

$result=mysql_query("select * from table order by id desc limit $start,$limit);

$num=mysql_numrows($result);

echo "

翻页功能

if (!emptyempty($num)) {

for ($i=0;$i

$val=mysql_result($result,$i,"val");

$val1=mysql_result($result,$i,"val1");

echo "

$val$val1";

}

}

echo "

";

//设置向前翻页的跳转

$prve=$start-$limit;

if ($prve>=0) {

echo "prve";

}

//设置向后翻页的跳转

$next=$start+$limit;

if ($next

echo "next";

}

echo "

";

?>

一个前翻,后翻功能的程序完成了,但这个功能对处理更多资料显示时,将会显得很累赘.下面将会继续介绍功能更强大,更加复杂的翻页功能--循环翻页(我一直都这么叫,因为找不到更合适的叫法).:)

前面介绍了简单的翻页功能实现,下面介绍的翻页功能更加强大,更加复杂,本站的非常论坛和非常文章就是使用这个循环翻页功能的.

循环翻页是前翻后翻加上数字共同实现的,具体的表现形式为:

页: prve <<1 2 3 4 ....... 20 >> next

里面的数字表示各当前的页面,前翻 prve 和后翻 next 已不仅仅是当前页的前后翻转,而是更加复杂的数字控制前后翻转。

同以往一样,在进行程序设计之前,先理清一下思路,我建议读者在看完如何实现循环翻页的功能后,能自己动手实践一次,因为这里研究的一些方法和思路可能比较抽象。

首先我们大胆假设数据库里存有超过1000 条的记录,我们希望当前显示 25 条记录,而数字翻转控制为 20,因此就有如下的显示结果:

页: 0 1 2 3 ......... 19 >> next

后翻后的显示结果:

页: prve <<20 27 28 ....... 49 >> next好,我们来看看其中的规律,一个固定的显示数字 25 ,一个固定的数字控制倍翻 20.我们可以利用这两个数字来实现循环翻页功能;

首先设置固定显示的变量:

$limit=20;

数据库初始变量的设置:

$start=0;

数据库记录总数为:

$num;

页数变量:$page;

一个页数循环显示的程序如下:

...

$result=mysql_query("select * from table");

$num=mysql_numrows($result);

for ($page=0;$page

echo $page;

if ($page>0 && ($page%20)==0) {

break; //退出循环

}

}

?>

这段代码除了显示数字外,其它功能一概没有实现,因为多了数字控制翻转,所以必须要有几个变量来标记并识别这些控制量,这里用了$s 来标记,这个变量是用来控制数字循环翻页控制的,现在可以看看实现循环翻页的完整代码page.php:

$limit=25;

if (!emptyempty($start)) $start=0;

if (!emptyempty($s)) $s=0;

mysql_connect("localhost","","");

mysql_select_db(database);

//统计数据库记录总数

$result=mysql_query("select * from table");

$num=mysql_numrows($result);

$result=mysql_query("select * from table order by id limit $start,$limit");

$numb=mysql_numrows($result);

echo "

if (!emptyempty($numb)) {

for($i=0;$i

$val=mysql_result($result,$i,"val");

$val1=mysql_result($result,$i,"val1");

echo "

$val$val1";

}

}

echo "

";

//数字循环翻页的控制

echo "

echo "

页:";

//前翻控制

if ($s>20) {

if ($s==21) {

$st=$s-21;

} else {

$st=$s-20;

}

$pstart=$st*$limit;

echo "

echo "start=$pstart&s=$st>prve

";

}

echo "

>>";

//设置当前页对应页数无链接功能

$star=$start;

//注意循环的初始附值,仔细想想为什么不是 0

for ($page=$s;$page

$start=$page*$limit;

echo "

";

if($page!=$star/$limit) {

echo "

echo "start=$start&s=$s>";

}

echo $page;

if($page!=$star/$limit) {

echo "

";

}

echo "

";

//控制数字页面限制显示功能,控制只显示 20 页

if ($page>0 && ($page%20)==0) {

if ($s==0) {

$s=$s+21;

} else {

$s=$s+20;

}

$start=$start+$limit;

if ((($num/$limit)-1)>$page) {

echo "

<<

echo "start=$start&s=$s>next

";

}

//注意跳出循环的控制

break;

}

}

echo "

";

?>

还有一个翻页功能就是提交翻页,即在提交表单添入数据提交,然后程序跳转到该对应页,这个功能实现起来比较简单,就留给读者自己完成。

以上的程序已经可以完成强大的循环翻页功能,大家可以细细研究,真正做到学以致用。

php跳转方式带rere_PHP翻页跳转功能实现方法相关推荐

  1. php跳转方式带rere_PHP利用REFERER根居访问来地址进行页面跳转

    这篇文章主要是根据referfer判断来源,然后跳转到制定页面,以防出现了无法访问页面,用户体验不好 比如,我有一个开发一个黄页源码上转到了脚本之家.之前定了一个演示程序地址: //www.jb51. ...

  2. python实现二级页面带自动翻页功能,三级页面爬虫苏宁图书。

    最近有在做小学期的项目,用scrapy实现爬取图书,下面是我实现的过程. 具体实现功能有:二级页面带自动翻页功能,三级页面的第一页爬取,大小类别的区分. 框架:scrapy 使用到chrome的插件: ...

  3. 模仿PPLive带左右翻页的焦点图,实用

    查看效果 下载地址 前台部分代码 代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &quo ...

  4. Linux—vim/vi 翻页跳转命令快捷键

    关注微信公众号:CodingTechWork,一起学习进步. 以下组合若没有特殊说明,基本都是键位组合. vim翻页 vim翻半页 ctr-d:向后翻半页 ctr-u:向前翻半页 vim整整页 ctr ...

  5. PDF如何快速翻页,这5种方法了解一下

    日常工作使用PDF文档相对是最多的,如文件页面较多,是否只能老老实实滑动鼠标或拖动滚动条查看?下面介绍几种快速翻页的方法,一起了解一下吧. 方式1:上一页/下一页 首先用常用的极速PDF阅读器打开文档 ...

  6. java设置首页跳转_SpringBoot设置首页(默认页)跳转功能的实现方案

    先给大家介绍下SpringBoot设置首页(默认页)跳转功能 最近springboot开发需要设置个默认页面,就相当于我访问http://www.back.order.baidu.com要直接跳转到登 ...

  7. wordpress index.php 跳转,wordpress点击内容页跳转到其他url的解决方法

    谈起wordpress这个源码程序,其实相对于其他的程序在php虚拟主机上的安全性还是比较好的,但是有时间就会莫名其妙的不知道是什么问题,就被挂马了,但是明显的挂马是比较好处理的,就怕的是隐藏的,会弄 ...

  8. STemwin 实现滑动切换主页 滑动翻页 滑动解锁功能

    STM32上实现类似iPhone的解锁和滑屏功能,emwin这个库官方的文档中控件没有一样的,但是有一个上下滑动的,基本上能够完成大致上的功能,但是如果想使用emwin实现类似的效果的话,需要懂这些知 ...

  9. 如何用耳机翻页_实现强大的翻页跳转功能

    我们都知道用 php+mysql 在web 页实现数据库资料全部显示是非常简单而有趣的,数据库资料很少的情况下页面显示还是让人满意的,但是当数据库资料非常多的情况下... 近些年,很多人对于投影仪都有 ...

最新文章

  1. linux下的重要服务dns
  2. java8编译_为什么在Java7中编译而在Java8中编译?
  3. 【重复制造精讲】3、成本收集
  4. kotlin 第一个程序_Kotlin程序减去两个矩阵
  5. 强强合体:Docker版Kali Linux发布
  6. 老男孩和门户网站学生聊天整理
  7. 【操作系统】处理机调度与死锁(三)
  8. Sql Update Alter Rename
  9. serv-u+win2008R2+cutFtp配置
  10. 梯度消亡(Gradient Vanishing)和梯度爆炸(Gradient Exploding)
  11. VS Code插件Code Runner使用python虚拟环境
  12. Weex Android 动画揭秘
  13. 什么是IDC?IDC数据中心什么意思?
  14. 企业招聘网络推广运营人员的岗位工作职责该如何写?
  15. 计算机组成原理--存储系统
  16. From tomorrow
  17. 开源PHP记事本,Boostnote 为程序员的开源式记事本
  18. linux与hadoop常用命令梳理
  19. Android百度地图——搜索服务之周边检索
  20. 好作品是打磨出来的——《文心》的读后感作文4800字

热门文章

  1. 将Centos的yum源更换为国内的阿里云源
  2. mysql索引为啥要选择B+树 (上)
  3. C# Aop简单扫盲及ORM实体类属性拦截示例
  4. Node.js连接MySQL
  5. 深浅复制的的理解与区别
  6. Powershell管理系列(五)修改AD账号属性
  7. Exchange 2003 在多域环境中的部署
  8. leetcode005 longest_palidrome
  9. 带你3分钟学Python变量和数据类型
  10. MySQL 源码 需要 什么基础_MySQL 基础之 源码 部署