zoukankan      html  css  js  c++  java
  • 分页函数

     1 <?php
     2 /**
     3  * 分页函数
     4  * @param $countRows
     5  * @param $pageNo
     6  * @param string $url
     7  * @return string
     8  */
     9 function pager($countRows, $pageNo, $url = '') {
    10     // 计算总页数
    11     $countPages = ceil($countRows / PAGE_ROWS);
    12     // 当前页码前后间隔
    13     $pageOffset = (PAGE_OFFSET - 1) / 2;
    14 
    15     if(!$url) {
    16         $url  = $_SERVER['SCRIPT_NAME'] . '?' . $_SERVER['QUERY_STRING'];
    17         $url  = preg_replace('/&*page=d*/','', $url);
    18         $url .= empty($_SERVER['QUERY_STRING']) ? "page=[page]" : "&page=[page]";
    19     }
    20 
    21     $pager  = '<ul class="pager">';
    22     $pager .= (1 < $pageNo)
    23         ? '<li><a href="'. str_replace('[page]', 1, $url) .'">首页</a></li>'
    24           . '<li><a href="'. str_replace('[page]', ($pageNo - 1), $url) .'">上一页</a></li>'
    25         : '<li><a class="disabled">首页</a></li><li><a class="disabled">上一页</a></li>';
    26 
    27     // 开始页码不能小于1
    28     $startPage = max(1, $pageNo - $pageOffset);
    29     // 开始页码加上要显示页码的个数 要比总页数小
    30     $endPage   = min($startPage + PAGE_OFFSET - 1, $countPages);
    31     // 避免页码显示不足位数
    32     $startPage = max(1, $endPage - PAGE_OFFSET + 1);
    33 
    34     $pageNumList = range($startPage, $endPage);
    35     foreach ($pageNumList as $pageNum) {
    36         $selected = ($pageNum == $pageNo) ? ' class="active" ' : '';
    37         $pager .= '<li><a href="'. str_replace('[page]', $pageNum, $url) .'"'. $selected .'>' . $pageNum . '</a></li>';
    38     }
    39 
    40     $pager .= ($countPages > $pageNo)
    41         ? '<li><a href="'. str_replace('[page]', ($pageNo + 1), $url) .'">下一页</a></li>'
    42           . '<li><a href="'. str_replace('[page]', $countPages, $url) .'">尾页</a></li>'
    43         : '<li><a class="disabled">下一页</a></li><li><a class="disabled">尾页</a></li>';
    44     $pager .= '</ul><div class="clear"></div>';
    45 
    46     return $pager;
    47 }

    效果如下图:

     

  • 相关阅读:
    2020.8月总结
    fps逆向总结
    fps人物基址的寻找
    python学习_012
    python学习_011
    python学习_010
    python学习_009
    python学习_008
    pytorch DataLoader模块的使用
    python 继承类的初始化用法
  • 原文地址:https://www.cnblogs.com/adtuu/p/7519634.html
Copyright © 2011-2022 走看看