PHP封装分页函数实现文本分页和数字分页_php实例

最近,在项目中要用到分页。分页功能是经常使用的一个功能,所以,对其以函数形式进行了封装。

// 分页分装/***  $pageType  分页类型 1是数字分页 2是文本分页* 可以将$pageTotal,$page,$total等数据作为参数传递,或者在paging作为全局变量(推荐)*/function paging($pageType){  global $pageTotal,$page,$total;  if($pageType == 1)  {    echo '<div id="pagenum">';      echo'<ul>';        for($i=0; $i < $pageTotal; $i++)        {           if($page == ($i+1))          {            echo '<li><a href="blogfriends.php?page='.($i+1).'">'.($i+1).'</a></li>';          }          else          {            echo '<li><a href="blogfriends.php?page='.($i+1).'">'.($i+1).'</a></li>';          }        }      echo'</ul>';    echo'</div>';

}  else if($pageType == 2)  {    echo '<div id="pagetext">';      echo '<ul>';        echo '<li>'.$page.'/'.$pageTotal.'页 | </li>';        echo '<li>共有<strong>'.$total .'</strong>个会员 | </li>';          // 第一页          if($page == 1)          {            echo '<li>首页 | </li>';            echo '<li>上一页 | </li>';          }          else          {            // $_SERVER["SCRIPT_NAME"]获取当前的脚本名字,方便移植            // 也可以自定义常量,常量值和脚本文件名一致            echo '<li><a href="'.$_SERVER["SCRIPT_NAME"].'">首页 </a>| </li>';            echo '<li><a href="'.$_SERVER["SCRIPT_NAME"].'?page='.($page - 1).'">上一页 </a>| </li>';          }          // 最后一页          if($page == $pageTotal)          {            echo '<li>下一页 | </li>';            echo '<li>尾页 | </li>';          }          else          {            echo '<li><a href="'.$_SERVER["SCRIPT_NAME"].'?page='.($page + 1).'">下一页 </a>| </li>';            echo '<li><a href="'.$_SERVER["SCRIPT_NAME"].'?page='.($pageTotal).'">尾页 </a>| </li>';          }          echo '</ul>';    echo '</div>';  }}

参数解释:

$pageTotal是总页数,$page是当前页,$total是从数据库中获取的数据总数;

为了简化,将参数全部封装

// 分页参数分装/***  $sql  可以 获取数据总数的一个sql语句* $size 每一页显示条数*/function pageParam($sql,$size){  // 将所有涉及的参数设置全局变量  // $pagestart 某一页从哪里开始  // $total 总记录数  $page 某一页 $pageTotal 总页数  global $pagestart,$pagesize,$total,$page,$pageTotal;  $pagesize = $size;  // 获取数据总数  $total = mysql_num_rows(queryDB($sql));

// 错误处理,先判断是否存在  if(isset($_GET['page']))  {    // 具体某一页    $page = $_GET['page'];    // 判断是否为空(0是空)/小于0/是否是数字    if(empty($page) || $page < 0 || !is_numeric($page))    {      $page = 1;    }    else    {      $page = intval($page); //取整,防止小数出现    }

}  else  {    // 初始化显示第1页    $page = 1;  }

// 数据库清零  if($total == 0)  {    // 设置为1    $pageTotal = 1;  }  else  {    // 分页的总页数(进一取整处理)    $pageTotal = ceil($total / $pagesize);  }

// 页数大于总页码$total  if($page > $pageTotal)  {    $page = $pageTotal;  }  // 当页从某一条记录开始  $pagestart = ($page - 1) * $pagesize;}

参数解释:

$pagestart是当页从某一条记录开始,$pagesize是每页显示的记录数

在使用中,先调用pageParam,再调用paging

/*** 第一个 可以 获取数据总数的一个sql语句* 第二个 每一页显示条数*/pageParam("select userid from user",2);
<?php   // 分页类型 1是数字分页 2是文本分页   paging(2);?>  

调用的位置根据具体情况选择,文本分页如下:

<?php     // 分页类型 1是数字分页 2是文本分页    paging(1); ?>  

数字分页如下:

样式自行调整。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索php
, 封装
分页函数
bootstrap分页实例、ajax分页实例、struts2分页实例、js分页代码实例、ci框架分页实例,以便于您获取更多的相关知识。

时间: 2024-08-30 02:21:43

PHP封装分页函数实现文本分页和数字分页_php实例的相关文章

一个实用的ASP分页函数,解决你重复写分页代码的烦恼

   有时候,大家是不是因为写一些重复的代码而感到烦恼呢?由于在做ASP程序时,很多时候都要用到分页,重复作分页程序错误多不说了,而且影响到作程序的积极性,故写一分页函数,方便大家调用.如下:       <%'=================   ProgrammName: 分页函数   ======================='  ================   Programmed  by  Bubuy   ====================='    ========

Codeigniter框架实现获取分页数据和总条数的方法_php实例

本文实例讲述了Codeigniter框架实现获取分页数据和总条数的方法.分享给大家供大家参考.具体实现方法如下: 一般在数据分页的时候需要获取当前页的数据和总条数,一般人是在model中封装两个函数分别获取当前页的数据和数据总条数,业务逻辑类似,感觉有点冗余,可以封装在一起 复制代码 代码如下: /** * 获取分页数据及总条数 * @param string @tablename 表名 * @param mixed $where 条件 * @param int $limit 每页条数 * @p

Mysql中分页查询的两个解决方法比较_php实例

mysql中分页查询有两种方式, 一种是使用COUNT(*)的方式,具体代码如下 复制代码 代码如下: SELECT COUNT(*) FROM foo WHERE b = 1; SELECT a FROM foo WHERE b = 1 LIMIT 100,10; 另外一种是使用SQL_CALC_FOUND_ROWS 复制代码 代码如下: SELECT SQL_CALC_FOUND_ROWS a FROM foo WHERE b = 1 LIMIT 100, 10; SELECT FOUND_

php分页思路以及在ZF中的使用_php实例

只需要得到两个变量就成功了一半: 每页要显示的记录数$pageSize 表中总的数据量 $rowCount 有了以上两个变量,我们就可以得出 共有几页了$pageCount 然后通过for循环,比如总共有13个页面,那么很容易就能通过for循环输出页数 复制代码 代码如下: $nav='';//用来保存页数的一个变量 for ($i=1;$i<=13;$i++) { $nav.="<a href='index.php?page=".$i."'>第"

Yii2分页的使用及其扩展方法详解_php实例

前言: 说明下我们本篇文章都要讲哪些内容 分页的使用,一步一步的教你怎么做 分页类LinkPager和Pagination都可以自定义哪些属性 分页类LinkPager如何扩展成我们所需要的 第一步,我们来看看yii2自带的分页类该如何去使用? 1.controller action use yii\data\Pagination; $query = Article::find()->where(['status' => 1]); $countQuery = clone $query; $pa

php封装好的人民币数值转中文大写类_php实例

php封装好的人民币数值转中文大写类 class Num2RmbClass{ /** * 人民币数值转中文大写 * @author SunsCheung * @time 2015.11.11 * @param string $number 数值 默认为0 * @param string $int_unit 币种单位,默认"元",有的需求可能为"圆" * @param bool $is_round 是否对小数进行四舍五入 * @param bool $is_extra

php函数mkdir实现递归创建层级目录_php实例

下面是我从网上整理的资料,会为大家详细介绍php函数mkdir的具体用法,希望对有这方面需求的朋友有所帮助. 项目开发中免不了要在服务器上创建文件夹,比如上传图片时的目录,模板解析时的目录等.这不当前手下的项目就用到了这个,于是总结了几个循环创建层级目录的方法. php默认的mkdir一次只能创建一层目录,而要逐层创建各级目录的话,一般都是先从父创建,然后逐层往下创建,但是这样手工创建的话,有点太过于麻烦了. 我们写程序是做什么的?不久是为了能自动化实现我们需要的功能么,这里的方法就是为了能够通

使用ob系列函数实现PHP网站页面静态化_php实例

将PHP的执行页面预先转换成HTML,是所谓的PHP静态化方法之一. 其他还有模板替换法,opcache等方法. 静态化的作用: 提高网站的响应速度,降低服务器的负载: 用于搜索引擎的SEO: 利用PHP输出buffer直接写成html,定时后台定时扫一遍网站,是比较容易实现的网页静态化. 静态化之前: <?php for($i=0;$i<1000;$i++){ echo "bull<br>"; } ?> 静态化: <?php ob_start();

PHP json_encode() 函数详解及中文乱码问题_php实例

在 php 中使用 json_encode() 内置函数(php > 5.2)可以使用得 php 中数据可以与其它语言很好的传递并且使用它. 这个函数的功能是将数值转换成json数据存储格式. <?php $arr = array ( 'Name'=>'希亚', 'Age'=> ); $jsonencode = json_encode($arr); echo $jsonencode; ?> 程序运行结果如下: {"Name":null,"Age&