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

PHP+MySQL实现分页的常用方法

2009-04-11 10:43 826 查看
]<?php
/*
* 文件名称:news.php
* 所属项目名称:bbs
* 创建于 2009-3-12 上午07:51:26
*
* 代码功能:实现 php 分页
* 详细说明:
*/
include('conn.php');
/*查找新闻表中的数据个数,保存到$num中
* @$num  总的数据个数
* */
$query = "SELECT COUNT(*) FROM news";
$result = mysql_query($query);
$num = mysql_num_rows($result);
/* 计算页面数$page_count,每页显示多少数据由$page_size决定,
* 总的数据个数除以每页显示多少行,就能得到总共多少页
* @$page_count  页面总数
* @$page_size   每页显示的数据个数
* @$page        客户端提交的页面id
* */
$page_size = 10;
$page_count = ceil($num/$page_size);//进一法取整
//$offset = ($page_count-1)*$page_size;
/*根据客户端GET提交上来的页面ID确定当前页面数*/
if(empty($_GET['page'])) {
$page = 1; //客户端没有提交,页面是1
} else {
$page = $_GET['page'];
if($page<=0) {
$page=1; //客户提交小于0,表示用户输入错误,设置默认值为1
} elseif($page >= $page_count) {
//如果客户端提交大于数据库总的页面数,那么设置页面数为最大
$page = $page_count-1;
}
}
/*SQL语句的limit表示显示从XX位置开始的XXX条数据*/
$sql =
"SELECT * FROM news ORDER BY id DESC LIMIT ".($page-1)*$page_size.",$page_size";
$data=mysql_query($sql);   //数据保存到$result中,给页面调用
?>
<table width="571" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#0066FF">
<tr>
<td width="100" bgcolor="#FFFFFF"><div align="center">编号</div></td>
<td width="343" bgcolor="#FFFFFF"><div align="center">标题</div></td>
<td width="150" bgcolor="#FFFFFF"><div align="center">时间</div></td>
</tr>
<?php
/*循环把页面的数据显示出来*/
while($l_result=mysql_fetch_array($data)) {
?>
<tr>
<td bgcolor="#FFFFFF"><div align="center"><?php echo $l_result['id'];?></div>
</td>
<td bgcolor="#FFFFFF"><div align="center"><a href="<?php echo " mce_href="<?php echo "view.php?id"."=".$l_result['id'];?>"><?php echo $l_result['title'];?></a></div></td>
<td bgcolor="#FFFFFF"><div align="center"><a href="<?php echo " mce_href="<?php echo "view.php?id"."=".$l_result['id'];?>"><?php echo $l_result['p_time'];?></a></div></td>
</tr>
<?php
}
?>
<center><a href="new.php" mce_href="new.php">发布信息</a><br /></center>
<?php
//页码显示
for($i=1; $i <=($page_count-1); $i ++) {
echo "<a href="list.php?page=" mce_href="list.php?page="".$i."'>".$i."</a>";
}
?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: