免费邮箱 |加入收藏 | 会员中心 | 我要投稿 | RSS
您当前的位置:首页 > PHP专区 > PHP教程

PHP分页小代码

时间:2011-05-19 14:08:35  来源:站内  作者:潘春会

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>php make page list</title>
<style type="text/CSS">
<!--
.page a:link {
 color: #0000FF;
 text-decoration: none;
}
.page a:visited {
 text-decoration: none;
 color: #0000FF;
}
.page a:hover {
 text-decoration: none;
 color: #0000FF;
}
.page a:active {
 text-decoration: none;
 color: #0000FF;
}
.page{color:#0000FF;}
-->
</style>
</head>
<body>
<table width="530" height="103" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
  <tr>
    <th width="30" height="38" bgcolor="#E3E3E3" scope="col">ID</th>
    <th width="500" bgcolor="#E3E3E3" scope="col">文章标题</th>
  </tr>
<?php
/*
 * Created on 2010-4-17
 *
 * Order by Kove Wong
 */
 $link=MySQL_connect('localhost','root','haoxiazai1987');
 mysql_select_db('pagelist');
 mysql_query('set names gbk');

 $Page_size=10;

 $result=mysql_query('select * from v_char');
 $count = mysql_num_rows($result);
 $page_count  = ceil($count/$Page_size);


 $init=1;
 $page_len=7;
 $max_p=$page_count;
 $pages=$page_count;

 //判断当前页码
 if(empty($_GET['page'])||$_GET['page']<0){
  $page=1;
 }else {
 $page=$_GET['page'];
}

 $offset=$Page_size*($page-1);
 $sql="select * from v_char limit $offset,$Page_size";
 $result=mysql_query($sql,$link);
 while ($row=mysql_fetch_array($result)) {
?>
  <tr>
    <td bgcolor="#E0EEE0" height="25px"><div align="center">
      <?php echo $row['id']?>
    </div></td>
    <td bgcolor="#E0EEE"><div align="center">
      <?php echo $row['name']?>
    </div></td>
  </tr>

<?php
}

 

 $page_len = ($page_len%2)?$page_len:$pagelen+1;//页码个数
 $pageoffset = ($page_len-1)/2;//页码个数左右偏移量

 $key='<div class="page">';
 $key.="<span>$page/$pages</span>&nbsp;";   //第几页,共几页
 if($page!=1){
 $key.="<a href="".$_SERVER['PHP_SELF']."?page=1">第一页</a> ";    //第一页
 $key.="<a href="".$_SERVER['PHP_SELF']."?page=".($page-1)."">上一页</a>"; //上一页
}else {
 $key.="第一页 ";//第一页
 $key.="上一页"; //上一页
}

 if($pages>$page_len){
 //如果当前页小于等于左偏移
 if($page<=$pageoffset){
 $init=1;
 $max_p = $page_len;
 }else{//如果当前页大于左偏移
 //如果当前页码右偏移超出最大分页数
 if($page+$pageoffset>=$pages+1){
 $init = $pages-$page_len+1;
 }else{
 //左右偏移都存在时的计算
 $init = $page-$pageoffset;
 $max_p = $page+$pageoffset;
 }
 }
  }
  for($i=$init;$i<=$max_p;$i++){
 if($i==$page){
 $key.=' <span>'.$i.'</span>';
 } else {
 $key.=" <a href="".$_SERVER['PHP_SELF']."?page=".$i."">".$i."</a>";
 }
  }

  if($page!=$pages){
 $key.=" <a href="".$_SERVER['PHP_SELF']."?page=".($page+1)."">下一页</a> ";//下一页
 $key.="<a href="".$_SERVER['PHP_SELF']."?page={$pages}">最后一页</a>"; //最后一页

来顶一下
返回首页
返回首页
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
推荐资讯
如何找出DHCP地址池里未使用的IP地址
如何找出DHCP地址池里
国内常用的DNS列表
国内常用的DNS列表
Linux邮件服务器软件比较
Linux邮件服务器软件比
学用纯CSS打造可折叠树状菜单
学用纯CSS打造可折叠树
相关文章
栏目更新
栏目热门