Heim  >  Artikel  >  Backend-Entwicklung  >  PHP通用分页

PHP通用分页

WBOY
WBOYOriginal
2016-06-23 13:31:58916Durchsuche

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;

 

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:请问关于php代码运行顺序问题Nächster Artikel:PHP之开发环境