PHP分页类,生成分页html字符串
2016-09-26 10:08
447 查看
1 <?php namespace Common\Common; /** * 该Page类主要有两个方法:showPageString(), showPageStringAsAJAX() * * showPageString():主要用于生成普通的超链接的html分页代码,页面也会随之刷新。 * * showPageStringAsAJAX():主要用于利用ajax发送异步请求,生成带有js函数和参数的html分页代码。 * * @author Fly 2016/09/25 * */ class Page{ /** * 通用的分页html字符串 * * @param int $currentPage 当前页面 * @param int $pageSize 页面条数 * @param int $totalCount 总条数 * * @return string $output 返回的分页Html字符串 */ public function showPageString($currentPage, $pageSize, $totalCount){ $redirectTo = "/Admin/Score/loadOrderInfo";//分页每次跳转的地址 $pageSize = $pageSize == 0 ? 3 : $pageSize; $totalPages = floor(($totalCount + $pageSize - 1) / $pageSize); //总页数 $output = '<nav><ul class="pagination">';//输出字符串 if ($totalPages > 1) { //if (currentPage != 1) {//处理首页连接 $output .= "<li><a href=".$redirectTo."?pageIndex=1&pageSize=".$pageSize."'>首页</a></li>"; } if ($currentPage > 1) {//处理上一页的连接 $output .= "<li><a href='".$redirectTo."?pageIndex=".($currentPage -1)."&pageSize=".$pageSize."'>上一页</a></li>"; } else { // output.Append("<span class='pageLink'>上一页</span>"); } $output .= " "; $currint = 5; for ($i = 0; $i <= 10; $i++) {//一共最多显示10个页码,前面5个,后面5个 if (($currentPage + $i - $currint) >= 1 && ($currentPage + $i - $currint) <= $totalPages) { if ($currint == $i) {//当前页处理 //output.Append(string.Format("[{0}]", currentPage)); $output .= "<li class='active'><a href='javascript:void(0);'>$currentPage</a></li>"; } else {//一般页处理 $output .= "<li><a href='".$redirectTo."?pageIndex=".($currentPage + $i - $currint)."&pageSize=".$pageSize."'>".($currentPage + $i - $currint)."</a></li>"; } } $output .= " "; } if ($currentPage < $totalPages) {//处理下一页的链接 $output .= "<li><a href='".$redirectTo."?pageIndex=".($currentPage + 1)."&pageSize=".$pageSize."'>下一页</a></li>"; } else { //output.Append("<span class='pageLink'>下一页</span>"); } $output .=" "; if ($currentPage != $totalPages) { $output .= "<li><a href='".$redirectTo."?pageIndex=".$totalPages."&pageSize=".$pageSize."'>末页</a></li>"; } $output .= "</ul></nav>"; } //$output .= "第".$currentPage."页 / 共".$totalPages."页";//这个统计加不加都行 return $output; } /** * 利用ajax的异步分页 * * @param string $jumpFun 对应js的function名字 * @param int $currentPage 当前页面 * @param int $pageSize 页面条数 * @param int $totalCount 总条数 * * @return string $output 返回的分页Html字符串 */ public function showPageStringAsAJAX( $jumpFun, $currentPage, $pageSize, $totalCount){ $pageSize = $pageSize == 0 ? 3 : $pageSize; $totalPages = floor(($totalCount + $pageSize - 1) / $pageSize); //总页数 $output = '<nav><ul class="pagination pagination-lg">';//输出字符串 if ($totalPages > 1) { //if (currentPage != 1) {//处理首页连接 $output .= "<li><a class='pageLink' href='javascript:void(0);' onclick='".$jumpFun."(1,".$pageSize.")'>首页</a></li>"; } if ($currentPage > 1) {//处理上一页的连接 $output .= "<li><a href='javascript:void(0);' onclick='".$jumpFun."(".($currentPage - 1).", ".$pageSize.")'>上一页</a></li>"; } else { // output.Append("<span class='pageLink'>上一页</span>"); } $output .= " "; $currint = 5; for ($i = 0; $i <= 10; $i++) {//一共最多显示10个页码,前面5个,后面5个 if (($currentPage + $i - $currint) >= 1 && ($currentPage + $i - $currint) <= $totalPages) { if ($currint == $i) {//当前页处理 //output.Append(string.Format("[{0}]", currentPage)); $output .= "<li class='active'><a href='javascript:void(0);'>$currentPage</a></li>"; } else {//一般页处理 $output .= "<li><a href='javascript:void(0);' onclick='".$jumpFun."(".($currentPage + $i - $currint).",".$pageSize.")'>".($currentPage + $i - $currint)."</a></li>"; } } $output .= " "; } if ($currentPage < $totalPages) {//处理下一页的链接 $output .= "<li><a href='javascript:void(0);' onclick='".$jumpFun."(".($currentPage + 1).",".$pageSize.")'>下一页</a></li>"; } else { //output.Append("<span class='pageLink'>下一页</span>"); } $output .=" "; if ($currentPage != $totalPages) { //处理末页的链接 $output .= "<li><a href='javascript:void(0);' onclick='".$jumpFun."(".$totalPages.", ".$pageSize.")'>末页</a></li>"; } $output .= "</ul></nav>"; } //$output .= "第".$currentPage."页 / 共".$totalPages."页";//这个统计加不加都行 return $output; } }
相关文章推荐
- php生成html分页方法-----ob篇
- 用PHP生成html分页列表的代码
- php生成html分页方法-----ob篇
- php生成静态html分页实现方法
- php生成静态html分页实现方法
- php生成静态html分页实现方法
- php生成静态html分页实现方法
- 用PHP生成html分页列表的代码
- 常用字符串操作类.HTML代码,生成随机数
- PHP生成静态html网页的三种方法
- Php 生成静态html文件
- PHP生成静态html网页的三种方法
- PHP生成静态html网页的三种方法
- asp.net2.0自动根据用户自定义字数生成带分页的静态(HTML)页
- asp.net2.0自动根据用户自定义字数生成带分页的静态(HTML)页
- asp.net 2.0 生成HTML 生成列表及分页
- asp分页生成html的程序脚本代码
- php生成html
- 浅淡PHP生成HTML的思路
- asp.net中将DataTable根据xslt生成html静态页面,支持分页