用php制作简单分页(从数据库读取记录)的方法详解
程序员文章站
2024-02-04 21:31:10
php新手,一直想做一下分页都给忘了,今天有幸被提醒所以网上搜了一下。有些写的看不懂也没怎么去看。最后找到一个...
php新手,一直想做一下分页都给忘了,今天有幸被提醒所以网上搜了一下。有些写的看不懂也没怎么去看。最后找到一个比较简单的。
大致的思想就是:
1.设置每页要显示的最大记录数。
2.计算出页面总数
3.当前页面跟总页面数比较改变连接的状态
4.用limit控制从数据库中读取记录
下面是代码:
复制代码 代码如下:
$conn = mysql_connect('localhost','root','');
mysql_select_db('db_bookstore',$conn);
mysql_query("set names utf8");
if(isset($_get['page'])) //判断是否存在page参数,获得页面值,否则取1
{
$page = intval($_get['page']);
}
else
{
$page = 1;
}
$page_size = 2; //最大记录条数
$sql = "select count(*) as amount from tb_bookinfo";
$result = mysql_query($sql);
$row = mysql_fetch_array($result);
//计算总页数
$amount = $row['amount'];
if($amount)
{
if($amount < $page_size){$page_count = 1;}
if($amount % $page_size){$page_count = (int)($amount / $page_size) + 1; }
else{$page_count = $amount / $page_size;}
}
else
{
$page_count = 0;
}
//翻页链接
$page_string = "";
if($page == 1)
{
$page_string .= "首页 | 上一页";
}
else
{
$page_string .= "<a href='?page=1'>首页</a> | <a href='?page=".($page-1)."'>上一页</a>";
}
$page_string .= "| $page |";
if($page == $page_count)
{
$page_string .= "下一页 | 尾页";
}
else
{
$page_string .= "<a href='?page=".($page+1)."'>下一页</a> | <a href='?page=$page_count'>尾页</a>";
}
$sql = "select * from table order by id desc limit ". ($page-1)*$page_size .", $page_size";
$result = mysql_query($sql);
while ( $row = mysql_fetch_row($result) ){
$rowset[] = $row;
}
?>
这个只是非常简单的一种方法,各位路人大牛,若有其他类型的方法,敬请告之一下。