Example #1
0
 /**
 +------------------------------------------------------------------------------
 * 得到分页的html串 显示的url是html的
 +------------------------------------------------------------------------------
 * $totalPage		总页数
 * $currentPage		当前查询的是第几页 注意下标从1开始
 * $prePage			当前页的上一页 
 * $nextPage		当前页的下一页
 * $lastViewPage	当前页面显示的最后一页的页码(重要)
 * $viewPage		设定的需要显示的页码数
 * $control			控制器名
 * $action			方法名
 * $params			查询所需额外参数 如果没有可以为空
 +------------------------------------------------------------------------------
 */
 public static function getPageHtml($totalPage, $currentPage, $prePage, $nextPage, $lastViewPage, $viewPage = 10, $control, $action, $params = '')
 {
     $newLastViewPage = "";
     //新的显示的最后页
     $newStartViewPage = "";
     //新的显示的开始的页
     $startViewPage = $lastViewPage - $viewPage + 1;
     //原来显示的开始的页
     if ($startViewPage < 0) {
         $startViewPage = 0;
     }
     if ($currentPage > $lastViewPage) {
         //查询的页大于显示的最后页,页码数需要往后移
         $newLastViewPage = $currentPage;
         $newStartViewPage = $newLastViewPage - $viewPage + 1;
         if ($params != '') {
             $params = $params . "-" . $newLastViewPage;
         } else {
             $params = $newLastViewPage;
         }
         $center = Pagination::getPageHtml_($newStartViewPage, $newLastViewPage, $currentPage, $control, $action, $params);
     }
     if ($currentPage < $startViewPage) {
         //查询的页小于显示的开始页,页码数需要往前移
         $newLastViewPage = $lastViewPage - 1;
         $newStartViewPage = $newLastViewPage - $viewPage + 1;
         if ($params != '') {
             $params = $params . "-" . $newLastViewPage;
         } else {
             $params = $newLastViewPage;
         }
         $center = Pagination::getPageHtml_($newStartViewPage, $newLastViewPage, $currentPage, $control, $action, $params);
     }
     if ($currentPage >= $startViewPage && $currentPage <= $lastViewPage) {
         //查询的页处于中间,页码不必移动
         $newLastViewPage = $lastViewPage;
         $newStartViewPage = $startViewPage;
         if ($params != '') {
             $params = $params . "-" . $newLastViewPage;
         } else {
             $params = $newLastViewPage;
         }
         if ($totalPage > $viewPage) {
             $center = Pagination::getPageHtml_($startViewPage, $lastViewPage, $currentPage, $control, $action, $params);
         } else {
             $center = Pagination::getPageHtml_(1, $totalPage, $currentPage, $control, $action, $params);
         }
     }
     $pre_page = Pagination::tourl($control, $action, $params . "-" . $prePage);
     //		$pre_page_str 	="<span class=\"page_preve \"><a href=\"$pre_page\">上一页</a></span>";
     $pre_page_str = "<a class=\"page_preve \" href=\"{$pre_page}\">上一页</a>";
     $next_page = Pagination::tourl($control, $action, $params . "-" . $nextPage);
     //		$next_page_str 	="<span class=\"page_next\"><a href=\"$next_page\">下一页</a></span>";
     $next_page_str = "<a class=\"page_next\" href=\"{$next_page}\">下一页</a>";
     return $pre_page_str . $center . $next_page_str;
 }