学习了下bootstrap,刚好在用分页,就自己写了一个分页,然后结合bootstrap样式展现。
bootstrap的分页格式:
<ul class="pagination"> <li><a href="#">«</a></li> <li class="active"><a href="#">1</a></li> <li><a href="#">2</a></li> <li><a href="#">3</a></li> <li><a href="#">4</a></li> <li><a href="#">5</a></li> <li><a href="#">»</a></li> </ul>
PHP动态分页过程;
/** * @param $maxpage 总页数 * @param $page 当前页 * @param string $para 翻页参数(不需要写$page),$para参数就应该设为'&id=1' * @return string 返回的输出分页html内容 */ function multipage($maxpage, $page, $para = '') { $multipage = ''; //输出的分页内容 $listnum = 5; //同时显示的最多可点击页面 if ($maxpage < 2) { return ''; }else{ $offset = 2; if ($maxpage <= $listnum) { $from = 1; $to = $maxpage; } else { $from = $page - $offset; //起始页 $to = $from + $listnum - 1; //终止页 if($from < 1) { $to = $page + 1 - $from; $from = 1; if($to - $from < $listnum) { $to = $listnum; } } elseif($to > $maxpage) { $from = $maxpage - $listnum + 1; $to = $maxpage; } } $multipage .= ($page - $offset > 1 && $maxpage >= $page ? '<li><a href="?page=1'.$para.'" >1...</a></li>' : ''). ($page > 1 ? '<li><a href="?page='.($page - 1).$para.'" >«</a></li>' : ''); for($i = $from; $i <= $to; $i++) { $multipage .= $i == $page ? '<li class="active"><a href="?page='.$i.$para.'" >'.$i.'</a></li>' : '<li><a href="?page='.$i.$para.'" >'.$i.'</a></li>'; } $multipage .= ($page < $maxpage ? '<li><a href="?page='.($page + 1).$para.'" >»</a></li>' : ''). ($to < $maxpage ? '<li><a href="?page='.$maxpage.$para.'" class="last" >...'.$maxpage.'</a></li>' : ''); $multipage .= ' <li><a href="#" ><input type="text" size="3" onkeydown="if(event.keyCode==13) {self.window.location=\'?page=\'+this.value+\''.$para.'\'; return false;}" ></a></li>'; $multipage = $multipage ? '<ul class="pagination">'.$multipage.'</ul>' : ''; } return $multipage; }
输出分页结果,如$multipage = multipage(20,1);便可得到如下所示的分页标签了:
有个不完善的地方就是最后的页码自选择框的大小与bootstrap的分页框大小不一致,有点影响美观了。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持找一找教程网。