我只有一个项目阵列,我想创建一些分页链接。不幸的是,我无法设置要在mqin查询中返回的项目数,因此我总是不得不处理整个数组。
[0] => Array
(
[key] => value
[key] => value
)
[1] => Array
(
[key] => value
[key] => value
)
让我们说阵列中有大约100个零件,我想一次显示9个零件。我正在尝试以下内容:
$pagenum = $_GET['pagenum'];
$i = 1;
foreach $array as $key => $a{
//do some html
$i++;
if($i > 9){break;}
}
$pagenumUp = $pagenum +1;
$pagenumDown = $pagenum -1;
<a href="?pagenum=<?php echo $pagenumUp; ?>">Next</a>
<a href="?pagenum=<?php echo $pagenumDown; ?>">Prev</a>
我坚持要找到一种方法来设置根据索引执行代码的位置。因此,如果Im在第一页上,则索引应该在0到8之间运行。如果im在第二页上,它应该在9到17之间运行,等等。
我认为也许要根据页码检查某种数字数组,但这必须是动态的。
我将暂时有条件地显示下一个和上一个,并在以后找出。
答案 0 :(得分:0)
要加入一部分(或切片)或阵列,请使用array_slice
并将其参数定义为:
$pageSize = 9;
$startPosition = ($_GET['pagenum'] - 1) * $pageSize;
$slice = array_slice(
$fullArray,
$startPosition,
$pageSize
);
要将数组分成多个部分(或块),请使用array_chunk
:
$pageSize = 9;
$chunks = array_chunk(
$fullArray,
$pageSize
);
// after that you can get required chunk by index - $chunks[0], $chunks[1], etc