PHP数组内容制作分页功能

首先制作分页功能,需要使用GET传值接收页面位置
我们这里使用一个数组,通过制作分页功能来输出不同位置的数组元素

<?php
for($i=1;$i<=10;$i++){
	$arr[$i]=$i;//生成一个数组,,这个数组中的元素需要从1开始
}
?>

生成分页时需要接收地址栏中的参数, p a g e , page,但是由于在刚进入页面时,有时没有参数 page此时还需要判断

<?php
for($i=1;$i<=10;$i++){
	$arr[$i]=$i;//生成一个数组,,这个数组中的元素需要从1开始
}
if(isset($_GET['page'])){
	$page=$_GET['page'];//如果地址栏中有参数时
}else{
	$page=1;//如果地址栏中没有传入page参数,则默认为1
}
//此时设置每页的数量,并计算总页数
$perpage=2;//此时设置每页数据为2
$total_number=count($arr);//获取数组元素的数量
$total_page=ceil($total_number/$perpage);//先计算出分为多少页,因为有可能数据为基数,但是最后一个数据要输出,所以取相除之后取最大的整数值
?>

//此时接收到页数之后,需要显示相关页数的数据,因为数组是从1开始,画图更能说明白问题
在这里插入图片描述

<?php
print_r($arr[($page*2)-1]);
print_r($arr[$page*2]);
//即可输出对应页数的数组元素
?>

但是我们需要考虑如果地址栏的页数被手动改动到较大的值,而总页数也没有那么多页。需要做一个判断


if($_GET['page']>$total_page){
	$page=$total_page;//如果被手动更改此值,则默认到最后一页
}

最后整合

<?php
for($i=1;$i<=10;$i++){
	$arr[$i]=$i;//生成一个数组,,这个数组中的元素需要从1开始
}
if(isset($_GET['page'])){
	$page=$_GET['page'];//如果地址栏中有参数时
}else{
	$page=1;//如果地址栏中没有传入page参数,则默认为1
}
//此时设置每页的数量,并计算总页数
$perpage=2;//此时设置么每页数据为2
$total_number=count($arr);//获取数组元素的数量
$total_page=ceil($total_number/$perpage);
if(isset($_GET['page']) && $_GET['page']>$total_page){
//判断如果地址栏有传值,并且传值大于总页数,此时将会把最大页数赋值给$page
	$page=$total_page;
}
print_r($arr[($page*2)-1]);
print_r($arr[$page*2]);
?>

此时关于一个数组类型的数据制作完成
如有错误,敬请指正

猜你喜欢

转载自blog.csdn.net/Xiang_lhh/article/details/105520819
今日推荐