最终效果: 存储数据的数组: $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: <table> <tr> <td>学号</td> <td>姓名</td> <td>出生日期</td> </tr> <!--显示数据要用循环遍历数组,取值--> <?php for($i=$start_index;$i<=$end_index;$i++){ ?> <tr> <td><?php echo $info[$i]['stu_num']; ?></td> <td><?php echo $info[$i]['name']; ?></td> <td><?php echo $info[$i]['birth_y']."-".$info[$i]['birth_m']."-".$info[$i]['birth_d']; ?></td> </tr> <?php } ?> </table> <!--底部控制栏部分--> <a href="?page=1">首页</a> <a href="?page=<?php echo ($page-1); ?>">上一页</a> <a href="?page=<?php echo ($page+1); ?>">下一页</a> <a href="?page=<?php echo $total_pages; ?>">尾页</a> |
转载于:https://my.oschina.net/microlv/blog/866399