PHP实现上一页下一页翻页代码实例

该博客展示了如何使用PHP连接MySQL数据库并实现上一页、下一页的分页功能。通过设置每页显示的记录数($pagesize)和当前页数($page),计算出偏移量($offset),然后利用LIMIT SQL语句获取指定范围的数据。同时,还提供了总记录数和总页数的计算,以及首页、上一页、下一页和尾页的链接生成。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<?php
//1,将数据库的所有记录查询出来,然后再一页一页的显示

$link=mysql_connect('localhost','root','123') ;
mysql_select_db('yanhua');


mysql_query("set names utf8");


//首先要=知道每页显示几条记录 pagesize
//第几页 page
//下一页要掠过之前的几个记录 offset
/*
0 0 0 0 0 0 0 0 0
page offset pagesize
1 0 2
2 2 2
3 4 2
4 6 2

*/
//我们还是通过传递page参数的形式来判断当前是第几页
//?page = 1 第一页 ?page=2 第二页 page=3 第三也
$pagesize = 2;
$page = isset($_GET['page'])?$_GET['page']:1;

//通过page 和 pagesize 求出offset
$offset = $pagesize * ($page-1);

include ("libs/Smarty.class.php");
$smarty = new Smarty();
$smarty->reInitSmarty("demo/templates","demo/templates_c","demo/config","demo/cache");
$array_new=array();
$sql = "select * from news limit $offset,$pagesize";
$res = mysql_query($sql);
while($row = mysql_fetch_assoc($res)){
$array_new[]=$row;
}
//var_dump($array_new);
$smarty->assign("array_new",$array_new);
$smarty->display("news.tpl");

$sql = "select count(*) as total from news";
$result = mysql_query($sql);
//总的记录数
$row = mysql_fetch_assoc($result);
$total_rows = $row['total'];

$total_page = ceil($total_rows/$pagesize);
echo '<a href="new.php">首页</a>';
//第一页的时候没有上一页
if($page > 1){
echo '<a href="new.php?page='.($page-1).'">上一页</a>';
echo '&nbsp;';
}
//尾页的时候不显示下一页
if($page < $total_page){
echo '<a href="new.php?page='.($page+1).'">下一页</a>';
echo '&nbsp;';
}

echo '<a href="new.php?page='.$total_page.'">尾页</a>';

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值