您的位置:首页 > 编程语言 > PHP开发

php 分页操作(二)

2015-08-22 21:20 615 查看
在php 分页操作(一)中,我们没有对信息进行分页,改进如下——>首先我们先看一下分页效果图



我们可以再看一个关于分页的例子,如下图



当有大量信息需要展示的时候,在同一个页面不可能全部显示,这个时候就需要对信息进行分页。在分页的时候,我们需要知道哪些信息呢?

思路:需要知道总页数(pageCount)、当前页数(pageNow可以由编程人员自己定义)、总共有多少条信息(rowCount需要使用sql语句获取)、每页显示的信息数(pageSize可以由编程人员自己定义)。

下面,我们需要知道共有多少页,这里我们可以使用一个函数ceil函数,总页数=ceil(信息总数【rowCount】 / 每页显示信息数【pageSize】)

代码块:

<?php

    $conn=mysql_connect("localhost","用户名","密码") or die(mysql_error); 

//链接数据库,如果链接出错,显示错误信息

mysql_query("set names utf8");

//设置编码格式

 

mysql_select_db("shop",$conn);

//选择数据库

    

$pageSize=5;   //每页显示信息量

$rowCount=0;    //信息总量

$pageNow=2;    //当前页数

$pageCount=0;   //总页数

if(!empty($_GET['pageNow'])){

      $pageNow=$_GET['pageNow'];

  }

 

$sql="select count(id) from emp";  //根据id获得数据总量

$res1=mysql_query($sql);

if($row=mysql_fetch_row($res1)){

   $rowCount=$row[0];

}

    $pageCount=ceil($rowCount/$pageSize);

$sql="select * from emp limit ".($pageNow-1)*$pageSize.",$pageSize";

//sql语句

$res=mysql_query($sql,$conn);

echo "<table border='1' width='700px'>";

    echo "<tr>";

    echo "<td>员工id</td><td>员工姓名</td><td>员工等级</td><td>员工邮箱</td><td>员工薪水</td></tr>";

    while($row=mysql_fetch_assoc($res)){

      echo "<tr>";

      echo "<td>" .$row['id']."</td><td>" .$row['name']."</td><td>" .$row['grade']."</td>

     <td>" .$row['emil']."</td><td>" .$row['salary']."</td>";

      echo "</tr>";

     } 

     echo "</table>";

 if($pageNow>1){

      $prepage=$pageNow-1;

      echo "<a href='fenye.php?pageNow=$prepage'>上一页  </a>";

     }

      for($i=1;$i<=$pageCount;$i++){

      echo "<a href='fenye.php?pageNow=$i'>$i  </a>";

     }

      if($pageNow<$pageCount){

      $nextpage=$pageNow+1;

      echo "<a href='fenye.php?pageNow=$nextpage'>下一页  </a>";

     }

 mysql_free_result($res);   //释放资源

 mysql_close($conn);       //关闭连接

?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: