191145686 发表于 2017-4-2 14:50:15

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>
__________________________________________________________________
如有问题请留言
页: [1]
查看完整版本: PHP 列表页 显示方法 修正版