关于conn.php
mysql_connect(‘localhost‘,‘root‘,‘root‘) or die("数据库连接失败"+mysql_error());
mysql_select_db(‘ajax‘) or die("数据打开失败"+mysql_error());
user.php
<?php
require_once:"conn.php"
$page=$_GET[‘page‘]?$_GET[‘page‘]:1;
$pageSize=5;//当前分页的最大记录数
function fetchAll($sql,$result_type=MYSQL_ASSOC){
$result=mysql_query($sql);
while(@$row=mysql_fetch_array($result,$result_type)){
$rows[]=$row;
}
return $rows;
}
$sql="select * from db_mermbers";
$result=mysql_query($sql);
$maxRows=mysql_num_rows($result);
$maxpage=ceil($maxRows/$pageSize);
if($page>$maxpage){
$page=$maxpage;//判断当前页是否大于最大的页面数,如果大于则让他等于当前的最大的页面数
}
if($page<1){
$page=1;//判断当前页是否小于最小页面1,如果小于则让他等于当前的页面
}
$offset=($page-1)*$pageSize//定义偏移量,也就是给后来从数据库中取记录时加上限定的条件
$sql1="select * from db_members limit {$offset},$pageSize"
$rows=fetchAll($sql1,$result_type=MYSQL_ASSOC);
?>
<!doctype html>
<html>
<head><meta charset="gb2312"></head>
<title></title>
<body>
<table border="0" cellspacing="0" cellpadding="0" width="50">
<tr>
<th>编号</th>
<th>用户名</th>
<th>邮件地址</th>
</tr>
<?php foreach($rows as $key=>$row): ?>
<tr>
<td><?php echo $row[‘id‘]; ?></td>
<td><?php echo $row[‘username‘];?></td>
<td><?php echo $row[‘email‘];?></td>
</tr>
<?php endforeach ;?>
</table>
<div style="width:600px;height:40px;border:1px solid black;background:#ccc">
<?php echo "当前页{$page}/{$maxpage} 共计{$maxRows}条信息";
echo "<a href=‘user.php?page=1‘>首页</a>";
echo "   ";
echo "<a href=‘user.php?page=".($page-1)."‘>上一页</a>";
echo "   ";
echo "<a href=‘user.php?page=".($page+1)."‘>下一页</a>";
echo "   ";
echo "<a href=‘user.php?page=".$maxpage."‘>最后一页</a>";
?>
</div>
</body>
</html>
总结,关于会员信息的分页显示,有俩个核心的技术点
1当前的页码一个的获取和操作,用户通过超链接和url操作获取分页的当前页码数,传递page值,初始值设为1,通过page和记录中取出的总共调试的互相判断。
2mysql中limit关键字,分页的核心就是在于mysql中limit的使用,结合limit关键字定义显示开始的位置和显示的条数,最后根据用户控制当前页码的变化而变化;