分页函数

之前在用thinkphp做项目的时候,感觉他的分页函数用着不习惯,自己琢磨着写了一个分页函数,放到这里来,用到的时候可以直接照搬。

  public function pagination($count,$page,$limit,$show_page=5){
          //总页码 = 总数据量/每一页的数据量 $pagesize
          $pagesize = ceil( $count/$limit);
          //获取当前页码 $page
          if($page<1){
            $page = 1;
          }
          $max = $page+floor($show_page/2); //循环的最大值
          $min = $page-floor($show_page/2); //循环的最小值
          //限制最大页码的数字
          if( $max>$pagesize){
            $max = $pagesize;
            $min = $pagesize-$show_page+1;
          }
          //限制最小页码的数字
          if($page - ceil($show_page/2) <= 1 ){
            $min = 1;
            $max = $show_page;
          }
          
           if($pagesize<$max){
                    $max = $pagesize;
                  }
                  //根据限制来生成页码
                  $pagestring = ‘<div class="page">‘;
                  if($page != 1){
                    $prev = $page-1;
                    $pagestring .= "<a href=‘?page=$prev‘>上一页</a>&nbsp;";
                  }
                  if($max != 0 && $max != 1){
                      for($i = $min;$i<=$max;$i++){
                        if($i == $page){
                            $hover="class=hover";
                        }else{
                            $hover="";
                        }
                        $pagestring .= "<a ".$hover." href=‘?page=$i‘>$i</a>&nbsp;";
                      }
                  }
                  if($page != $max && $pagesize != 0){
                    $next = $page+1;
                    $pagestring .= "<a href=‘?page=$next‘>下一页</a>";
                  }
                 return $pagestring .= ‘</div>‘;
            }

这个函数小项目里面可以用来凑合一下。

时间: 2024-10-15 15:59:00

分页函数的相关文章

PHPCMS V9二次开发自定义分页函数的解决方案

下面为大家分享一个PHPCMS V9二次开发自定义分页函数的方法. 方法如下: 首先打开 phpcms\libs\functions\global.func.php这个文件,找到分页函数,复制一下,粘贴到默认分页函数的下面,重新命名,比如我的就命名为wz_pages,保存. 打开 phpcms/libs/classes/template_cache.class.php,找到207行的: $str .= '$pages = pages($'.$op.'_total, $page, $pagesiz

php分页函数示例代码,php分页代码实现方法

php分页函数示例代码 分享一例php分页函数代码,用此函数实现分页代码很不错. 代码,php分页函数. <?php /* * Created on 2011-07-28 * Author : LKK , http://lianq.net * 使用方法: require_once('mypage.php'); $result=mysql_query("select * from mytable", $myconn); $total=mysql_num_rows($result);

SQL Server 2012 新的分页函数 OFFSET &amp; FETCH NEXT

DECLARE @page INT, @size INT;select @page = 300, @size = 10 SELECT *FROM gpcomp1.GPCUSTWHERE company like 'a%'ORDER BY CUSTNOOFFSET (@page -1) * @size ROWSFETCH NEXT @size ROWS ONLY; SQL Server 2012 新的分页函数 OFFSET & FETCH NEXT,布布扣,bubuko.com

PHP实现仿Google分页效果的分页函数

本文实例讲述了PHP实现仿Google分页效果的分页函数.分享给大家供大家参考.具体如下: /** * 分页函数 * @param int $total 总页数 * @param int $pagesize 每页几条 * @param string $pkey url中页面变量名称 * @param string $url 基础url,其中的{page}会被替换为页码 * 依赖函数 request_uri httpInt */ function page($total,$pagesize=10,

PHP基于数组的分页函数(核心函数array_slice())

关于数组的分页函数,用数组进行分页的好处是可以方便的进行联合多表查询,只需要将查询的结果放在数组中就可以了以下是数组分页的函数,函数page_array用于数组的分页,函数show_array用于分页函数的操作及显示,需要配合使用.两个函数通过全局变量$countpage发生联系,此变量用于跟踪总页码数. <?php /** * 数组分页函数 核心函数 array_slice * 用此函数之前要先将数据库里面的所有数据按一定的顺序查询出来存入数组中 * $count 每页多少条数据 * $pag

ThinkPHP 分页函数的改造

首先在创建好ThinkPHP项目以后,打开根目录下的ThinkPHP/Common/functions.php(这里存放的是tp的公共函数) 添加如下代码 1 function mypage($tot,$length){ 2 $page=$_GET['p']?$_GET['p']:1; 3 $offset=($page-1)*$length; 4 $prevpage=$page-1; 5 6 $pages=ceil($tot/$length); 7 8 if($page>=$pages){ 9

PHP分页 仿GOOGLE和Discuz分页函数

仿GOOGLE和Discuz分页函数 PHP版 这个函数只需要2个参数 当前页码和分页数,$site是路径,文件名能够按本人的需要修改 这个函数不能传送其他参数,如果要传送其他参数,在函数里本人加一个参数就行了 <?php //计数 $sql = "SELECT count(*) FROM `andycms_title`;"; $numrs = mysql_query($sql) or die(mysql_error()); $numrow = mysql_fetch_row($

重写ecshop分页函数get_pager

重写ecshop分页函数get_pager 原文  http://blog.cnsolomo.com/ld/php/203.html 在分页的时候要按照自己的需求分页,所有在ecshop原有的分页函数基础上进行了修改: function my_get_pager($url,$param,$record_count,$page = 1,$size = 10){ $size =intval($size);//每页显示几条记录     if($size<1){ //如果每页显示的记录小于1的话   

前端实现分页 实现个数据分页函数

前端拿到所有数据实现分页函数代码如下: //分页数据处理函数 pageDataFn(number){ //处于第几页 number //保存每页数据的函数 pagedata = []; //pageSize 每页条数 //设置开始 let start = (pageSize * number) - pageSize; // 设置结束长度 let end = pageSize * number; //长度判断 //所有分页数据 getdata.children end = end > getdat