关于会员分页显示

关于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 "&nbsp &nbsp";
echo "<a href='user.php?page=".($page-1)."'>上一页</a>";
echo "&nbsp &nbsp";
echo "<a href='user.php?page=".($page+1)."'>下一页</a>";
echo "&nbsp &nbsp";
echo "<a href='user.php?page=".$maxpage."'>最后一页</a>";
?>

</div>

</body>

</html>

总结,关于会员信息的分页显示,有俩个核心的技术点

1当前的页码一个的获取和操作,用户通过超链接和url操作获取分页的当前页码数,传递page值,初始值设为1,通过page和记录中取出的总共调试的互相判断。

2mysql中limit关键字,分页的核心就是在于mysql中limit的使用,结合limit关键字定义显示开始的位置和显示的条数,最后根据用户控制当前页码的变化而变化;

posted @ 2016-06-24 00:00  小白-前端  阅读(194)  评论(0编辑  收藏  举报