分页效果在网页中是常见的,可是怎样才能实现分页呢,今天做了两种方法来实现一下分页的效果

首先,我们需要准备在数据库里面准备一个表,并且插入数据,这些都是必需的前提工作了,不多说,如图所示(库名为jereh,表名为n_content):

步骤分析:

我们需要分页的话,需要用到 "select * from tableName limit num1,num2”;这是一个限定查询的语句,后面跟两个参数,num1为从第几个开始查找,num2为查找的信息的个数,如我想查找2,3,4这三条数据,如下图所示

好了,我们开始说步骤:

1.建立一个函数,用来实现限制查询的功能

首先我们来想一下,实现这个功能我们首先要知道当前的页数和要限制的一个页面显示几条信息,这个可以用形参传过来,那么,

我们设置pageNum为页数,pageSize为一个页面显示几条数据,在 "select * from tableName limit num1,num2”这个查询语句中,

num1就是(pageNum-1)*pageSize,num2就是pageSize,明白了这个关系之后,那么就好办了,代码在下面

//分页的函数
function news($pageNum = 1, $pageSize = 3)
{$array = array();$coon = mysqli_connect("localhost", "root");mysqli_select_db($coon, "jereh");mysqli_set_charset($coon, "utf8");// limit为约束显示多少条信息,后面有两个参数,第一个为从第几个开始,第二个为长度$rs = "select * from n_content limit " . (($pageNum - 1) * $pageSize) . "," . $pageSize;$r = mysqli_query($coon, $rs);while ($obj = mysqli_fetch_object($r)) {$array[] = $obj;}mysqli_close($coon,"jereh");return $array;
}

上面的代码中,值得注意的是,limit后面一定要加一个空格,不然会出错误;

2.建立第二个函数,用来显示总页数的函数

这个没什么新的知识点,都是以前写过的知识点了,直接看代码吧

//显示总页数的函数
function allNews()
{$coon = mysqli_connect("localhost", "root");mysqli_select_db($coon, "jereh");mysqli_set_charset($coon, "utf8");$rs = "select count(*) num from n_content"; //可以显示出总页数$r = mysqli_query($coon, $rs);$obj = mysqli_fetch_object($r);mysqli_close($coon,"jereh");return $obj->num;
}

3.调用这两个函数,进行初步的处理

我们想做下一页下一页的结果,需要用到get方法在本页面传数据,那么我们在刷新页面的时候,肯定get是得不到数据的,所以需要用三目运算了,看代码了

<?php@$allNum = allNews();@$pageSize = 3; //约定每页显示的信息条数@$pageNum = empty($_GET["pageNum"])?1:$_GET["pageNum"];@$endPage = ceil($allNum/$pageSize); //总页数@$array = news($pageNum,$pageSize);?>

4.在页面进行显示

在页面显示的话,需要用到了foreach循环了,代码简单,看下面

<table border="1" style="text-align: center" cellpadding="0"><tr><td>编号</td><td>新闻标题</td><td>来源</td><td>点击率</td><td>发布日期</td></tr><?phpforeach($array as $key=>$values){echo "<tr>";echo "<td>{$values->id}</td>";echo "<td>{$values->title}</td>";echo "<td>{$values->src}</td>";echo "<td>{$values->indexs}</td>";echo "<td>{$values->times}</td>";echo "</tr>";}?>
</table>

5.实现上一页,下一页的效果

要实现页面跳转的效果,我们需要用到了a标签的href属性,地址写“?pageNum = ...”这个pageNum是我们自己定义的,由于是get来传递的,在上一步里面我们已经用$_GET接受了参数,所以我们只需要进行get的参数传递就可以了;

首页:“pageNum=1”;

上一页:"pageNum=<?php echo $pageNum==1?1:$pageNum-1?>"

下一页:"pageNum=<?php echo $pageNum==$endPage ?$endPage :$pageNum+1?>"

尾页:“pageNum=<?php echo $pageNum =$endPage?>”;

特别注意的是,”pageNum=”的时候后面千万千万不要空格,代码如下

<a href="?pageNum=1">首页</a><a href="?pageNum=<?php echo $pageNum==1?1:($pageNum-1)?>">上一页</a><a href="?pageNum=<?php echo $pageNum==$endPage?$endPage:($pageNum+1)?>">下一页</a><a href="?pageNum=<?php echo $endPage?>">尾页</a>

总的代码如下:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>分页</title><?php//分页的函数
function news($pageNum = 1, $pageSize = 3)
{$array = array();$coon = mysqli_connect("localhost", "root");mysqli_select_db($coon, "jereh");mysqli_set_charset($coon, "utf8");// limit为约束显示多少条信息,后面有两个参数,第一个为从第几个开始,第二个为长度$rs = "select * from n_content limit " . (($pageNum - 1) * $pageSize) . "," . $pageSize;$r = mysqli_query($coon, $rs);while ($obj = mysqli_fetch_object($r)) {$array[] = $obj;}mysqli_close($coon,"jereh");return $array;
}//显示总页数的函数
function allNews()
{$coon = mysqli_connect("localhost", "root");mysqli_select_db($coon, "jereh");mysqli_set_charset($coon, "utf8");$rs = "select count(*) num from n_content"; //可以显示出总页数$r = mysqli_query($coon, $rs);$obj = mysqli_fetch_object($r);mysqli_close($coon,"jereh");return $obj->num;
}@$allNum = allNews();@$pageSize = 3; //约定没页显示几条信息@$pageNum = empty($_GET["pageNum"])?1:$_GET["pageNum"];@$endPage = ceil($allNum/$pageSize); //总页数@$array = news($pageNum,$pageSize);?>
</head>
<body>
<table border="1" style="text-align: center" cellpadding="0"><tr><td>编号</td><td>新闻标题</td><td>来源</td><td>点击率</td><td>发布日期</td></tr><?phpforeach($array as $key=>$values){echo "<tr>";echo "<td>{$values->id}</td>";echo "<td>{$values->title}</td>";echo "<td>{$values->src}</td>";echo "<td>{$values->indexs}</td>";echo "<td>{$values->times}</td>";echo "</tr>";}?>
</table>
<div><a href="?pageNum=1">首页</a><a href="?pageNum=<?php echo $pageNum==1?1:($pageNum-1)?>">上一页</a><a href="?pageNum=<?php echo $pageNum==$endPage?$endPage:($pageNum+1)?>">下一页</a><a href="?pageNum=<?php echo $endPage?>">尾页</a></div></body>
</html>

以上内容希望帮助到大家,很多PHPer在进阶的时候总会遇到一些问题和瓶颈,业务代码写多了没有方向感,不知道该从那里入手去提升,对此我整理了一些资料,包括但不限于:分布式架构、高可扩展、高性能、高并发、服务器性能调优、TP6,laravel,YII2,Redis,Swoole、Swoft、Kafka、Mysql优化、shell脚本、Docker、微服务、Nginx等多个知识点高级进阶干货需要的可以免费分享给大家,需要请戳这里链接 或 者关注咱们下面的知乎专栏

PHP架构师圈子​zhuanlan.zhihu.com

ie8 object param没有效果_如何用php实现分页效果相关推荐

  1. 手机网站按住放大图片_如何用PPT制作放大镜效果?ppt怎样实现放大镜效果?PPT放大镜效果教学?...

    有朋友问笔书,如何使用Microsoft Office PowerPoint制作放大镜效果?下面笔书将这个PPT制作小技巧分享给大家.教会大家,ppt怎样实现放大镜效果?首先:我们插入一张图片,将放大 ...

  2. wpsppt页面卷曲在哪里_如何用PPT制作卷轴效果

    本教程适用版本:WPS Office 2019 PC版点此使用 今天教大家如何在PPT中制作图片拼图,这个方法其实很简单,一起来看一看吧. 首先准备好卷面和卷轴图片素材.然后打开PPT软件,点击[插入 ...

  3. 如何用php实现分页效果

    分页效果在网页中是常见的,可是怎样才能实现分页呢,今天做了两种方法来实现一下分页的效果 首先,我们需要准备在数据库里面准备一个表,并且插入数据,这些都是必需的前提工作了,不多说,如图所示(库名为jer ...

  4. 手机html5翻页效果代码,jquery html5手机端翻书效果_手指滑动书本翻页效果代码

    特效描述:jquery html5手机端翻书 手指滑动 书本翻页效果.显现手机端翻书效果,支持手拖动翻页 代码结构 1. 引入JS 2. HTML代码 function loadApp() { // ...

  5. android 按钮点击动画效果_如何用纯css打造类materialUI的按钮点击动画并封装成react组件...

    作为一个前端框架的重度使用者,在技术选型上也会非常注意其生态和完整性.笔者先后开发过基于vue,react,angular等框架的项目,碧如vue生态的elementUI, ant-design-vu ...

  6. html按钮按下效果_如何用HTML实现简单按钮样式

    本篇文章主要给大家介绍如何用HTML实现简单的按钮样式. 在网页设计过程中,按钮的设置可以说是最为常见且基础的一项html/css知识技能. 程序猿的生活:打造全网web前端全栈资料库(总目录)看完学 ...

  7. winform实现翻书效果_如何用PPT实现翻书效果?

    在PPT中,我们需要配合内容使用不同的动画效果,加深观众对内容的理解.当内容是讲述故事.过场片段,或是老师的课件讲解教材时,有一个实用好看的动画效果,就是"翻书效果"动画. 例如上 ...

  8. ppt怎么把图片做成翻书效果_如何用PPT实现翻书效果?

    在PPT中,我们需要配合内容使用不同的动画效果,加深观众对内容的理解.当内容是讲述故事.过场片段,或是老师的课件讲解教材时,有一个实用好看的动画效果,就是"翻书效果"动画. 例如上 ...

  9. dw如何制作图片自动切换效果_如何用Dreamweaver制作出图片切换的效果

    QQ图片切换 body{margin: 0px;} A {COLOR: #313131;font-size: 9pt; TEXT-DECORATION: none} A:hover {COLOR: # ...

最新文章

  1. python 复现 Unet 论文中的 Weight Map
  2. 【渝粤题库】陕西师范大学200851 微机实用技术
  3. Elasticsearch7.15.2 报java.lang.NoClassDefFoundError: org/elasticsearch/client/Cancellable的解决方案
  4. 前锋php人工智能_人工智能除了学习php,还应该学什么?
  5. 贺利坚老师汇编课程54笔记:OF溢出标志OVERFLOW FLAG
  6. struts2_struts2线程安全吗?
  7. 2018-2019-2 20165313 《网络对抗技术》 Exp6 信息搜集与漏洞扫描
  8. linux快速删除大文件rsync,(总结)Linux下使用rsync最快速删除海量文件的方法
  9. JDK帮助文档(中文版)
  10. 采集侠的自动crontab脚本
  11. OpenCV——Haar特征
  12. 概率统计D 07.03 正态总体均值与方差的置信区间
  13. 一个大一学生学习C语言的心得
  14. SMplayer安装
  15. 沃趣陈栋ORACLE认证,QData-Oracle-数据库一体机---沃趣科技.pdf
  16. IDEA JVM 性能优化 相关参数设置
  17. 求矩阵中非零元素个数(L0范式)
  18. 华为云磁盘挂载与分区扩容
  19. RK系列(RK3568) 收音机tef6686芯片驱动,i2c驱动
  20. 教你怎么批量查询快递单号,一学就会

热门文章

  1. 重庆计算机硬件市场主要分布地,重庆市草地资源分布现状及类型特征
  2. (九)React面试真题演练
  3. ElementUI如何将当前组件的所有属性快速传递给子组件
  4. linux的底层文件i o,Linux 文件I/O操作
  5. java并发编程笔记_java并发编程笔记(一)——并发编程简介
  6. 网络安全应急演练方案内容_开展应急演练,筑牢网络安全
  7. 使用git向码云上提交代码
  8. 弹框在一个很的长页面居中显示
  9. Docker(一)Centos7.0安装Docker
  10. 对 makefile 中 $(MAKE) 的学习体会