php之数字分页

本小解承接上一节,https://blog.csdn.net/weixin_44797182/article/details/103280034

数字分页的制作

在这里插入图片描述

在从第几个开始显示的数据中,有个需要注意的点,开始显示的数据,这里假设一页显示10个,页数 1,2,3.。。。n

  • 第一页 limit 0,10 ;
  • 第二页 limit 11,10;
  • 第三页 limit 21,10;
  • 第n页 limit (n-1) *10
	// 获取点击的页数num
	$getnum = $_GET['num'];
	// 每页显示几个
	$pagesize = 2;
	// 从第几个开始,
	$pagestart = ($getnum - 1) * $pagesize;
	
	// 获取数据库中的数据 并以倒序的方式 显示在页面上
	$query = "SELECT bc_username,bc_sex,bc_face FROM bc_user ORDER BY bc_reg_time DESC LIMIT $pagestart,$pagesize";
	$result = mysql_query($query);
	
	// 获取需要几个按钮
	$query_pagination = "SELECT bc_id FROM bc_user ";
	$result_pagination  = mysql_query($query_pagination);
	$num_rows =  mysql_num_rows($result_pagination);	//获取数据库中有几条数据
	$pagenum = ceil($num_rows / $pagesize);

//html部分
   <div id="pagination">
        <ul>
          <?php for ($i = 0; $i < $pagenum; $i++) {
              echo   '<li><a href="blog.php?num=' . ($i + 1) . '">' . ($i + 1) . '</a></li>';
         } ?>
        </ul>
   </div>

这样就完成了一个最简单的数字分页,但还有不少毛病,只举例几个,如下

1,刚进入没有点击按钮之前会报错,因为刚进入时木有点击之后传输的值
2,在上方修改地址栏的num时没如果不在范围内会报错
3,修改地址栏 num=‘’或者num<=0;报错
4,数据库为0出错

// 获取点击的页数num
if (isset($_GET['num'])) {
    $getnum = $_GET['num'];
    if ($_GET['num'] == '' || $_GET['num'] <= 0) {
        $getnum = 1;
    } else {
        $getnum = intval($getnum);
    }
} else {
    $getnum = 1;
}

// 每页显示几个
$pagesize = 2;

// 获取需要几个按钮
$query_pagination = "SELECT bc_id FROM bc_user ";
$result_pagination  = mysql_query($query_pagination);
$num_rows =  mysql_num_rows($result_pagination);
if ($num_rows == 0) {
    $pagenum = 1;
} else {
    $pagenum = ceil($num_rows / $pagesize);
}
if ($getnum >  $pagenum) {
    $getnum = $pagenum;
}
// 从第几个开始,
$pagestart = ($getnum - 1) * $pagesize;
// echo $pagenum;
// 获取数据库中的数据 并以倒序的方式 显示在页面上
$query = "SELECT bc_username,bc_sex,bc_face FROM bc_user ORDER BY bc_reg_time DESC LIMIT $pagestart,$pagesize";
$result = mysql_query($query);

其他

在这里插入图片描述

posted @   coderwcb  阅读(23)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
点击右上角即可分享
微信分享提示