中易网

php 数组分页显示

答案:2  悬赏:40  
解决时间 2021-02-22 13:56
8, 'clickDate' =>'2010-10-13' ), array( 'clicks' => 7, 'clickDate' =>'2010-10-12' ), array( 'clicks' => 6, 'clickDate' =>'2010-10-11' ), array( 'clicks' => 5, 'clickDate' =>'2010-10-13' ), array( 'clicks' => 4, 'clickDate' =>'2010-10-12' ), array( 'clicks' => 3, 'clickDate' =>'2010-10-11' ), array( 'clicks' => 2, 'clickDate' =>'2010-10-10' ), array( 'clicks' => 1, 'clickDate' =>'2010-10-09' ), array( 'clicks' => 0, 'clickDate' =>'2010-10-08' ), ); $size = 3; $pnum = ceil(count($arr_click) / $size); if(isset($_GET['page'])){ $page = intval($_GET['page']); $page = $page > $pnum? $pnum: $page; }else{ $page = 1; } $page = empty($_GET['page']) ? '1' : $_GET['page']; for($i=($page-1)*$size;$i<$page*$size;$i++) { if(!isset($arr_click[($page - 1) * $size + $i]))break; $arr = $arr_click[($page - 1) * $size + $i]; echo $i."
"; print_r($arr); echo "
"; } ?> 上一页 下一页
我数组有9条数据
每一页是3条
现在第二页数组的数据显示不错

这是第二页显示的
本来应该是clicks=>5 4 3
点第三页就没有数据了

$arr = $arr_click[($page - 1) * $size + $i]; 不知道如何修改这句

这个是第一页









最佳答案
这句的算法就不正确了。if(!isset($arr_click[($page - 1) * $size + $i]))break; 


这句改成 if(!isset($arr_click[$i]))break;   当第三页的时候 $i 已经是从索引6开始了,你原来的句子却是 (3-1)*3+6 肯定 超出索引了啦。


我想你的第二页数据,虽然显示了,肯定与索引不对,第二页按你的搞法,应该是显示的索引6开始的。 第一页显示的 应该是索引为3开始的。




还有
if(isset($_GET['page'])){ 
    $page = intval($_GET['page']); 
     $page = $page > $pnum? $pnum: $page; 
 }else{ 
     $page = 1; 
 } 
   $page = empty($_GET['page']) ? '1' : $_GET['page'];这段代码,if 里面已经有page了。后面还要再获取一次page干嘛呢。

望采纳啦。有什么问题可以百度HI我。
全部回答
方法如下: 3, 'clickdate' =>'2010-10-11' ), array( 'clicks' => 2, 'clickdate' =>'2010-10-11' ), array( 'clicks' => 3, 'clickdate' =>'2010-10-09' ), array( 'clicks' => 1, 'clickdate' =>'2010-10-08' ), ); $page = 2; $indexinpage=2; $newarr = array_slice($arr_click, ($page-1)*$indexinpage, $indexinpage); ?> 原理如下: 和分页原理一样 数组用 array_slice(array,offset,length) 函数在数组中根据条件取出一段值。 array:需要处理的数组 offset:取出元素的开始位置 length:返回数组的长度 在每页中改变 offset 的值就行了!
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
三级英语笔译英语怎么说
腾讯老总有多少资产?
薄壁模具多少钱 供应高品质薄壁模具
保温杯能冷藏塞增药吗
辞职后领导挽留并换了工种怎么感谢
布尔格斯阿木地址有知道的么?有点事想过去
西点这个行业怎样?
501·悦咖啡在哪里啊,我有事要去这个地方
华为mate8用什么手机助手比较好
i.tech Clip R35连接电脑成功并且能进行选歌
约会都说些什么闷男。。
王地洋地址在什么地方,想过去办事
by accident用于句末?
麻烦各位命理大师帮我解释一下“犯官刑”是什
下了一天的雨了心情
推荐资讯
3吨的吊车可以吊起4吨的货物。在原配重的情况
百家桥小区站自行车租赁点在什么地方啊,我要
养猪场养一头猪的成本是多少
上海灌汤小笼包地址在哪,我要去那里办事
北京猎聘网销售待遇怎么样?业内口碑如何?
赛维健康洗衣·生活馆NSW-4316怎么去啊,有知
人死后会知道自己死了吗?
沙漠可数吗
下村坝村地址在哪,我要去那里办事
尚客优连锁酒店独山子店怎么去啊,有知道地址
买格力空调在专卖店买好不好
锁口河在哪里啊,我有事要去这个地方
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?