PHP通用分页

WBOY
Release: 2016-06-23 13:31:58
Original
916 people have browsed it

php通用分页,先看下样式

代码如下:

<style>body {    font-size:12px;font-family:verdana;width:100%;}div.page{    text-align:center;}div.content{    height:300px;}div.page a{    border:#aaaadd 1px solid;text-decoration:none;padding:2px 5px 2px 5px;margin:2px;}div.page span.current{    border:#000099 1px solid;background-color:#000099;padding:4px 6px 4px 6px;margin:2px;color:#fff;font-weight:bold;}div.page span.disable{    border:#eee 1px solid;padding:2px 5px 2px 5px;margin:2px;color:#ddd;}div.page form{    display:inline;}</style><?phpheader("Content-type:text/html;charset=utf-8");//传入页码$page = isset($_GET['p']) ? $_GET['p'] : 1;$page = $page > 0 ? intval($page) : 1;$conn = mysql_connect("127.0.0.1","root","") or die('连接数据库失败');mysql_select_db("demo",$conn);mysql_query("SET NAMES UTF8");$pageSize = 10;//每页显示的数据$showPage = 5;//显示页码$sql = "select * from demo limit ".($page-1)*$pageSize.",".$pageSize;$result = mysql_query($sql,$conn);echo '<div class="content"><table border=1 cellspacing=0 width=40% align="center">';echo '<tr><td>ID</td><td>NAME</td></tr>';while($row = mysql_fetch_assoc($result)){    echo '<tr>';    echo '<td>'.$row['id'].'</td>';    echo '<td>'.$row['name'].'</td>';    echo '</tr>';}echo '</table></div>';mysql_free_result($result);$total_sql = "select count(*) from demo";$total_result = mysql_fetch_array(mysql_query($total_sql));$total = $total_result[0];//计算总页数$total_page = ceil($total/$pageSize);mysql_close($conn);/*分页条*/$page_banner = '<div class="page">';//偏移量$pageOffset = ($showPage-1)/2;if ($page > 1) {    $page_banner .= '<a href="'.$_SERVER['PHP_SELF'].'?p=1">首页</a> ';    $page_banner .= '<a href="'.$_SERVER['PHP_SELF'].'?p='.($page-1).'"><<上一页</a> ';} else {    $page_banner .= '<span class="disable">首页</span>';    $page_banner .= '<span class="disable"><<上一页</span>';}//page start//初始化数据$start = 1;$end = $total_page;if ($total_page > $showPage){    if ($page > $pageOffset+1) {        $page_banner.= '...';    }    if ($page > $pageOffset) {        //开始位置总是当前页-偏移量        $start = $page - $pageOffset;        //右边的显示码加偏移量小于总页数就显示当前页+偏移量否则就显示最后页        $end = $total_page > ($page + $pageOffset) ? ($page + $pageOffset) : $total_page;    } else {        $start = 1;        $end = $total_page > $showPage ? $showPage : $total_page;    }    if ($page+$pageOffset > $total_page) {        //实际的开始位置-(当前位置+偏移量-最后一页)        $start = $start - ($page + $pageOffset - $end);    }}for($i = $start; $i <= $end; $i++ ){    if ($page == $i) {        $page_banner .= '<span class="current">'.$i.'</span>';    } else {        $page_banner .= '<a href="'.$_SERVER['PHP_SELF'].'?p='.($i).'">'.$i.'</a>';    }}if ($total_page > $showPage && $total_page > $page + $pageOffset) {    $page_banner.= '...';}//page endif ($page < $total_page) {    $page_banner .= '<a href="'.$_SERVER['PHP_SELF'].'?p='.($page+1).'">下一页>></a>';    $page_banner .= '<a href="'.$_SERVER['PHP_SELF'].'?p='.($total_page).'">尾页</a>';} else {    $page_banner .= '<span class="disable">下一页>></span>';    $page_banner .= '<span class="disable">尾页</span>';}$page_banner .= '共'.$total_page.'页';$page_banner .= '到第<form action="mypage.php" method="get">';$page_banner .= '<input type="text" size="2" name="p"/>页';$page_banner .= '<input type="submit" value="确定"/>';$page_banner .= '</form></div>';echo $page_banner;
Copy after login

 

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!