• PHP分页类,生成分页html字符串


      1 <?php
      2 namespace CommonCommon;
      3 
      4 /**
      5  * 该Page类主要有两个方法:showPageString(), showPageStringAsAJAX()
      6  * 
      7  * showPageString():主要用于生成普通的超链接的html分页代码,页面也会随之刷新。
      8  * 
      9  * showPageStringAsAJAX():主要用于利用ajax发送异步请求,生成带有js函数和参数的html分页代码。
     10  * 
     11  * @author Fly 2016/09/25
     12  *
     13  */
     14 class Page{
     15     
     16     /**
     17      * 通用的分页html字符串
     18      * 
     19      * @param int $currentPage    当前页面
     20      * @param int $pageSize    页面条数
     21      * @param int $totalCount    总条数
     22      * 
     23      * @return string $output    返回的分页Html字符串
     24      */
     25     public function showPageString($currentPage, $pageSize, $totalCount){
     26         $redirectTo = "/Admin/Score/loadOrderInfo";//分页每次跳转的地址
     27         $pageSize = $pageSize == 0 ? 3 : $pageSize;
     28         
     29         $totalPages = floor(($totalCount + $pageSize - 1) / $pageSize); //总页数
     30         $output = '<nav><ul class="pagination">';//输出字符串
     31         if ($totalPages > 1)
     32         {
     33             //if (currentPage != 1)
     34             {//处理首页连接
     35                 $output .= "<li><a  href=".$redirectTo."?pageIndex=1&pageSize=".$pageSize."'>首页</a></li>";
     36                 
     37             }
     38             if ($currentPage > 1)
     39             {//处理上一页的连接
     40                 $output .= "<li><a  href='".$redirectTo."?pageIndex=".($currentPage -1)."&pageSize=".$pageSize."'>上一页</a></li>";
     41             }
     42             else
     43             {
     44                 // output.Append("<span class='pageLink'>上一页</span>");
     45             }
     46         
     47             $output .= " ";
     48             $currint = 5;
     49             for ($i = 0; $i <= 10; $i++)
     50             {//一共最多显示10个页码,前面5个,后面5个
     51                 if (($currentPage + $i - $currint) >= 1 && ($currentPage + $i - $currint) <= $totalPages)
     52                 {
     53                     if ($currint == $i)
     54                     {//当前页处理
     55                         //output.Append(string.Format("[{0}]", currentPage));
     56                         $output .= "<li class='active'><a  href='javascript:void(0);'>$currentPage</a></li>";
     57                     }
     58                     else
     59                     {//一般页处理
     60                         $output .= "<li><a  href='".$redirectTo."?pageIndex=".($currentPage + $i - $currint)."&pageSize=".$pageSize."'>".($currentPage + $i - $currint)."</a></li>";
     61                     }
     62                 }
     63                 $output .= " ";
     64             }
     65             if ($currentPage < $totalPages)
     66             {//处理下一页的链接
     67                 $output .= "<li><a  href='".$redirectTo."?pageIndex=".($currentPage + 1)."&pageSize=".$pageSize."'>下一页</a></li>";
     68             }
     69             else
     70             {
     71                 //output.Append("<span class='pageLink'>下一页</span>");
     72             }
     73             $output .=" ";
     74             if ($currentPage != $totalPages)
     75             {
     76                 $output .= "<li><a  href='".$redirectTo."?pageIndex=".$totalPages."&pageSize=".$pageSize."'>末页</a></li>";
     77             }
     78             $output .= "</ul></nav>";
     79         }
     80         //$output .= "第".$currentPage."页 / 共".$totalPages."页";//这个统计加不加都行
     81         
     82         return $output;
     83     }
     84     
     85     /**
     86      * 利用ajax的异步分页
     87      * 
     88      * @param string $jumpFun    对应js的function名字
     89      * @param int $currentPage    当前页面
     90      * @param int $pageSize    页面条数
     91      * @param int $totalCount    总条数
     92      * 
     93      * @return    string    $output    返回的分页Html字符串
     94      */
     95     public function showPageStringAsAJAX( $jumpFun, $currentPage, $pageSize, $totalCount){
     96         
     97         $pageSize = $pageSize == 0 ? 3 : $pageSize;
     98         
     99         $totalPages = floor(($totalCount + $pageSize - 1) / $pageSize); //总页数
    100         $output = '<nav><ul class="pagination pagination-lg">';//输出字符串
    101         if ($totalPages > 1)
    102         {
    103             //if (currentPage != 1)
    104             {//处理首页连接
    105                 $output .= "<li><a class='pageLink' href='javascript:void(0);'  onclick='".$jumpFun."(1,".$pageSize.")'>首页</a></li>";
    106         
    107             }
    108             if ($currentPage > 1)
    109             {//处理上一页的连接
    110                 $output .= "<li><a href='javascript:void(0);' onclick='".$jumpFun."(".($currentPage - 1).", ".$pageSize.")'>上一页</a></li>";
    111             }
    112             else
    113             {
    114                 // output.Append("<span class='pageLink'>上一页</span>");
    115             }
    116         
    117             $output .= " ";
    118             $currint = 5;
    119             for ($i = 0; $i <= 10; $i++)
    120             {//一共最多显示10个页码,前面5个,后面5个
    121                 if (($currentPage + $i - $currint) >= 1 && ($currentPage + $i - $currint) <= $totalPages)
    122                 {
    123                     if ($currint == $i)
    124                     {//当前页处理
    125                         //output.Append(string.Format("[{0}]", currentPage));
    126                         $output .= "<li class='active'><a  href='javascript:void(0);'>$currentPage</a></li>";
    127                     }
    128                     else
    129                     {//一般页处理
    130                         $output .= "<li><a  href='javascript:void(0);' onclick='".$jumpFun."(".($currentPage + $i - $currint).",".$pageSize.")'>".($currentPage + $i - $currint)."</a></li>";
    131                     }
    132                 }
    133                 $output .= " ";
    134             }
    135             if ($currentPage < $totalPages)
    136             {//处理下一页的链接
    137                 $output .= "<li><a  href='javascript:void(0);' onclick='".$jumpFun."(".($currentPage + 1).",".$pageSize.")'>下一页</a></li>";
    138             }
    139             else
    140             {
    141                 //output.Append("<span class='pageLink'>下一页</span>");
    142             }
    143             $output .=" ";
    144             if ($currentPage != $totalPages)
    145             {
    146                 //处理末页的链接
    147                 $output .= "<li><a  href='javascript:void(0);' onclick='".$jumpFun."(".$totalPages.", ".$pageSize.")'>末页</a></li>";
    148             }
    149             $output .= "</ul></nav>";
    150         }
    151         //$output .= "第".$currentPage."页 / 共".$totalPages."页";//这个统计加不加都行
    152         
    153         return $output;
    154     }
    155     
    156 }
  • 相关阅读:
    组合索引
    常见的负载均衡策略
    jvm面试都有什么问题?
    Java常见面试题汇总-----------Java基础(NIO与IO的区别)
    关于OOM面试详解
    RabbitMQ几个常用面试题
    消息队列面试题及答案
    什么是B+树
    java并发编程 ||深入理解synchronized,锁的升级机制
    RabbitMQ中交换机的消息分发机制
  • 原文地址:https://www.cnblogs.com/reader/p/5908106.html
Copyright © 2020-2023  润新知