
php 数组分页显示
<?php$arr_click=array(array('clicks'=>8,'clickDate'=>'2010-10-13'),array('clicks'=>7,...
<?php $arr_click = array( array( 'clicks' => 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."<br>"; print_r($arr); echo "<br>"; } ?> <?php echo "总条数". count($arr_click);?><a href="temp.php?page=<?php echo $page - 1 > 0? $page - 1: 1; ?>">上一页</a> <a href="temp.php?page=<?php echo $page + 1 < $pnum? $page + 1: $pnum; ?>">下一页</a>
我数组有9条数据
每一页是3条
现在第二页数组的数据显示不错
这是第二页显示的
本来应该是clicks=>5 4 3
点第三页就没有数据了
$arr = $arr_click[($page - 1) * $size + $i]; 不知道如何修改这句
这个是第一页 展开
我数组有9条数据
每一页是3条
现在第二页数组的数据显示不错
这是第二页显示的
本来应该是clicks=>5 4 3
点第三页就没有数据了
$arr = $arr_click[($page - 1) * $size + $i]; 不知道如何修改这句
这个是第一页 展开
1个回答
展开全部
这句的算法就不正确了。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我。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询