PHP文件列表分页_PHP_分页列表展示

最终效果:

c3c70e74c7c2c83632f5fc59f9a0ceeb.gif

存储数据的数组:

$info=array(

array('name'=>'太一','birth_y'=>'1990','birth_m'=>'01','birth_d'=>'01','stu_num'=>'0150427001','subject'=>'PHP'),

array('name'=>'王二','birth_y'=>'1991','birth_m'=>'02','birth_d'=>'02','stu_num'=>'0150427002','subject'=>'PHP'),

array('name'=>'张三','birth_y'=>'1993','birth_m'=>'03','birth_d'=>'03','stu_num'=>'0150427003','subject'=>'PHP'),

array('name'=>'李四','birth_y'=>'1994','birth_m'=>'04','birth_d'=>'04','stu_num'=>'0150427004','subject'=>'PHP'),

array('name'=>'龙五','birth_y'=>'1995','birth_m'=>'05','birth_d'=>'05','stu_num'=>'0150427005','subject'=>'PHP'),

array('name'=>'六六','birth_y'=>'1996','birth_m'=>'06','birth_d'=>'06','stu_num'=>'0150427006','subject'=>'PHP'),

array('name'=>'柴七','birth_y'=>'1997','birth_m'=>'07','birth_d'=>'07','stu_num'=>'0150427007','subject'=>'PHP'),

array('name'=>'佬八','birth_y'=>'1998','birth_m'=>'08','birth_d'=>'08','stu_num'=>'0150427008','subject'=>'PHP'), );

思路:

第一部分:

首先确定每页要展示几个数据。这里以每页展示3个数据为例。$per_num=3;

然后获得总的数据数$nums;

此时,就可以通过上面两个计算出需要多少页来展示所有数据。$total_pages=ceil($nums/$per_num).

第二部分:

//通过$_GET来接收get数据,这里为page

$page=isset($_GET['page'])?$_GET['page']:1;

//同时因为$page最小不能小于1,最大不能大于第一部分得到的$total_pages.

//所以通过max(),min()来限制$page

$page=max($page,1);

$page=min($page,$total_pages);

第三部分:

//假设有8个数据。则

//页数    当前页面起始索引--当前页面结束索引

//第一页 0--2

//第二页 3--5

//第三页 6--7

//所以

$start_index=($page-1)*$per_num;

$end_index=$page*$per_num-1;

//因为,最后一页可能并不能显示3个数据,所以要修正$end_index。

//当不足3个数据时,$end_index取最后一个数据的下标,即$nums-1

$end_index=min($nums-1,$end_index);

显示部分html:

学号姓名出生日期
<?php echo $info[$i]['stu_num']; ?><?php echo $info[$i]['name']; ?><?php echo $info[$i]['birth_y']."-".$info[$i]['birth_m']."-".$info[$i]['birth_d']; ?>

首页

上一页

下一页

尾页

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值