PHP+Mysql开发分页之显示总页数
显示总的页数
<html>
<head>
<meta http-equiv="CONTENT-TYPE" content="text/html;">
</head>
<body>
<?php
/** 1.传入页面 **/
$page = $_GET['p'];
/** 2.根据页面取出数据:php->mysql **/
$host = "localhost";
$username = 'root';
$password = '123456789';
$db = 'bbs2';
$PageSize=5;
//连接数据库
$conn = mysql_connect($host, $username, $password);
if(!$conn){
echo "数据库连接失败";
exit;
}
//选择所要操作的数据库
mysql_select_db($db);
//设置数据库编码格式
mysql_query('SET NAMES UTF8');
//编写sql获取分页数据:SELECT * FROM 表名 LIMIT 起始位置 , 显示条数
$sql = "SELECT*FROM test LIMIT ".($page-1)*$PageSize .",$PageSize";
if(!$sql){
echo "取出不成功";
};
//把sql语句传送到数据库
$result = mysql_query($sql);
//处理我们的数据
echo "<table border=1 cellspacing=0 width=15% >";
echo "<tr><td>ID</td><td>名字</td><td>性别</td></tr>";
while($row = mysql_fetch_assoc($result)){
echo "<tr>";
echo "<td>{$row['id']}</td>";
echo "<td>{$row['name']}</td>";
echo "<td>{$row['sex']}</td>";
echo "<tr>";
}
//释放结果
mysql_free_result($result);
//获取数据总数
$to_sql="SELECT COUNT(*)FROM test";
$to_result=mysql_fetch_array(mysql_query($to_sql));
$to=$to_result[0];
//计算页数
$to_pages=ceil($to/$PageSize);
mysql_close($conn);
/** 3.显示数据+分页条 **/
$page_banner="<a href='".$_SERVER['PHP_SELF']."?p=".($page-1)."'>上一页</a>";
$page_banner.="<a href='".$_SERVER['PHP_SELF']."?p=".($page+1)."'>下一页</a>";
$page_banner.="共{$to_pages}页";
echo $page_banner;
?>
</body>
</html>代码解释
//获取数据总数 $to_sql="SELECT COUNT(*)FROM test"; $to_result=mysql_fetch_array(mysql_query($to_sql)); $to=$to_result[0]; //计算页数 $to_pages=ceil($to/$PageSize); mysql_close($conn);
本章难点
$to_sql:用来 计算数据的总数
$to_result:连接计算出来的总数,并取得数据
$to就是取得的总条数
$to_pages计算出页数 $to/$PageSize每页显示的数据获得显示多少页,
ceil向上去整数,这样余下的数也能显示出来。

复印名片广告
为什么我获取不到总页数呢
5年前 添加回复 0