ThinkPHP框架自带的分页样式是:
<div>
<a href="#"></a>
<a href="#"></a>
<a href="#"></a>
<a href="#"></a>
</div>
而bootstrap的分页样式是:
<div class="modal-footer no-margin-top"> <ul class="pagination pull-right no-margin"> <li class="prev disabled"> <a href="#"> <i class="icon-double-angle-left"></i> </a> </li> <li class="active"> <a href="#">1</a> </li> <li> <a href="#">2</a> </li> <li> <a href="#">3</a> </li> <li class="next"> <a href="#"> <i class="icon-double-angle-right"></i> </a> </li> </ul> </div>修改/ThinkPHP/Library/Think/Page.class.php文件中的分页样式:
//上一页 $up_row = $this->nowPage - 1; $up_page = $up_row > 0 ? '<li class="prev"><a href="' . $this->url($up_row) . '">' . $this->config['prev'] . '</a></li>' : '<li class="prev disabled"><a href="#">' . $this->config['prev'] . '</a></li>'; //下一页 $down_row = $this->nowPage + 1; $down_page = ($down_row <= $this->totalPages) ? '<li class="next"><a href="' . $this->url($down_row) . '">' . $this->config['next'] . '</a></li>' : '<li class="next disabled"><a href="#">' . $this->config['next'] . '</a></li>'; //第一页 $the_first = ''; if($this->totalPages > $this->rollPage && ($this->nowPage - $now_cool_page) >= 1){ $the_first = '<li><a href="' . $this->url(1) . '">' . $this->config['first'] . '</a></li>'; } //最后一页 $the_end = ''; if($this->totalPages > $this->rollPage && ($this->nowPage + $now_cool_page) < $this->totalPages){ $the_end = '<li><a href="' . $this->url($this->totalPages) . '">' . $this->config['last'] . '</a></li>'; } //数字连接 $link_page = ""; for($i = 1; $i <= $this->rollPage; $i++){ if(($this->nowPage - $now_cool_page) <= 0 ){ $page = $i; }elseif(($this->nowPage + $now_cool_page - 1) >= $this->totalPages){ $page = $this->totalPages - $this->rollPage + $i; }else{ $page = $this->nowPage - $now_cool_page_ceil + $i; } if($page > 0 && $page != $this->nowPage){ if($page <= $this->totalPages){ $link_page .= '<li><a href="' . $this->url($page) . '">' . $page . '</a></li>'; }else{ break; } }else{ if($page > 0 && $this->totalPages != 1){ $link_page .= '<li class="active"><a href="' . $this->url($page) . '">' . $page . '</a></li>'; } } } //替换分页内容 $page_str = str_replace( array('%HEADER%', '%NOW_PAGE%', '%UP_PAGE%', '%DOWN_PAGE%', '%FIRST%', '%LINK_PAGE%', '%END%', '%TOTAL_ROW%', '%TOTAL_PAGE%'), array($this->config['header'], $this->nowPage, $up_page, $down_page, $the_first, $link_page, $the_end, $this->totalRows, $this->totalPages), $this->config['theme']); return "<ul class='pagination pull-right no-margin'>{$page_str}</ul>";
控制器代码:
/*计算总页数*/ $pagesize = 3; // 每页记录数 $count = $user->where('tag=0 AND status=0')->count(); $Page = new \Think\Page($count, $pagesize); // 实例化分页类 $show = $Page->show(); // 分页显示输出 $this->assign('page',$show); // 赋值分页输出 /*进行分页数据查询*/ $data = $user->where('tag=0 AND status=0')->limit($Page->firstRow.','.$Page->listRows)->select(); $this->data = $data;
视图代码:
<div class="modal-footer no-margin-top">{$page}</div>
显示效果如下图:
带参数分页:$page->parameter表示分页跳转时的参数
另外,此时的关键字需通过get方法获取,post方法时,分页跳转不能保存参数。