在分页中重复元素

时间:2013-03-27 14:10:16

标签: php pagination repeat

[...]
$count = count($array_sub);

$per_page = 12;

$numero_pagine = ceil($count / $per_page);

$separator = "?pos=" ;
$page_corrente = (isset($_GET["pos"]) AND intval($_GET["pos"])) ? min($numero_pagine, intval($_GET["pos"])) : 1;

$righi_da_visualizzare = array_slice($array_sub, ($page_corrente-1)*$per_page, $per_page);

/* -- Pagination -- */
$output_pagination = '<nav id="pagination">';
for($i=1; $i<=$numero_pagine; $i++ ) { 
    if($i!=$page_corrente) {
        $output_pagination .= '<a href="' . $_SERVER["PHP_SELF"] . $separator . $i . '">' .$i . '</a>';
    }
}
$output_pagination.= "</nav>";

总共有27个元素,所以我有3页;

第一页:12个元素| /page.php?pos=1

第二页:12个元素| /page.php?pos=2

第三页:3个元素| /page.php?pos=3

这是正确的;但是最后一页(第三页)中的元素在页面中重复(必须不存在)...例如:

第四页:3个元素| /page.php?pos=4

第五页:3个元素| /page.php?pos=5

为什么还有其他?pos元素?

1 个答案:

答案 0 :(得分:0)

这是因为这一行

$page_corrente = (isset($_GET["pos"]) AND intval($_GET["pos"])) ? min($numero_pagine, intval($_GET["pos"])) : 1;

在这里,当你的$ _GET高于3时你将它设置为3,所以你得到三页。