PHP 列表页 展示方法 修正版

PHP 列表页 显示方法 修正版
数据库名称:persons
数据库表名:cs
数据库表字段:id   FirstName
数据库IP:localhost(本地)
数据库用户名:root
数据库密码:(空)
__________________________________________________________________
<!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=utf-8" />
<title>Untitled Document</title>
</head>

<body>
    <style type="text/css"> 
    *{ 
        margin:0; 
        padding:0; 
    } 
    #lay{ 
        margin:100px 100px 100px 100px; 
    } 
    a{ 
        padding:5px; 
        font-size:13px; 
        text-decoration:none; 
    } 
    span{ 
        font-size:13px; 
    } 
    table{ 
        border:1px solid red; 
        border-collapse:collapse; 
    } 
    </style> 
   
 
    <tr align="center" bgcolor="#ffcc"> 
        <td width="200px;">id</td> 
        <td width="200px;">值</td> 
      </tr> 
    <?php 
        $link = mysql_connect("localhost","root",""); //连接数据库 
        mysql_select_db("cs");//选择哪个数据库 
        mysql_query("set names utf-8"); //设置数据库字符编码为中文 
        $sql = mysql_query("select *from persons"); 
        $pagesize = 5; //显示条数
        $sum = mysql_num_rows($sql); //判断 一共有多少条数据 
        $count = ceil($sum/$pagesize);//求出一共有多少页 
        $pages = $count; //显示最后一页 
        $init = 1; 
        $page_len = 7; 
        $max_p = $count;     
        if(empty($_GET["page"])|| $_GET["page"]<0){ 
            $page = 1; 
        }else{ 
            $page = $_GET["page"]; 
        } 
        $off = ($page-1)*$pagesize; //求出数据库查询的第一个数据 
        $he = mysql_query("select * from persons limit $off,$pagesize");//按照off开始,到pagesize规律显示
echo "一共 ".$sum." 条数据"; 

        while($row = mysql_fetch_array($he)){ 
        
    echo "<tr align='center'>";
    echo "<td>".$row['id']."</td>"; 
    echo "<td>".$row['FirstName']."</td>";
    echo " </tr> ";
        }
    ?>
  <?php  
    $page_len = ($page_len%2)?$page_len:$page_len+1;//如果余为1则为真,为0则为假 
    $pageoffset = ($page_len-1)/2;//页码偏移量
    $key ="";
if($page!=1){ 
        $key.="<span><a href=\"".$_SERVER['PHP_SELF']."?page=1"."\">第一页 </a></span>"; 
        $key.="<span><a href=\"".$_SERVER['PHP_SELF']."?page=".($page-1)."\">上一页 </a></span>"; 
    }else{ 
        $key.="<span>第一页 </span>"; 
        $key.="<span>上一页 </span>"; 
    }
    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.="[ ".$i." ]"; 
             
        }else{ 
            $key.="<a href=\"".$_SERVER['PHP_SELF']."?page=".$i."\">$i</a>"; 
        } 
    } 
    if($i-1!=$page){ 
        $key.="<span><a href=\"".$_SERVER['PHP_SELF']."?page=".($page+1)."\">下一页</a></span>"; 
        $key.="<span><a href=\"".$_SERVER['PHP_SELF']."?page=".$pages."\">最后一页</a></span>"; 
    }else{ 
        $key.="<span>下一页</span>"; 
        $key.="<span>最后一页</span>"; 
    }

echo "<tr align='center'>"; 
echo "<td colspan='2'>".$key."</td>";  
echo "</tr>";
?>
</table>
    </table> 
   
 
</body>
</html>
__________________________________________________________________
如有问题请留言