0
[...]
$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

2ページ目:12要素| /page.php?pos=2

3ページ目:3つの要素| /page.php?pos=3

正解です; しかし、最後のページ(3番目のページ)にある要素は、ページ(存在してはならない)で繰り返されます...例:

4ページ目:3つの要素| /page.php?pos=4

5ページ目:3つの要素| /page.php?pos=5

等。

なぜ要素を持つ他の?posがあるのですか?

4

1 に答える 1

0

これはこの線のせいです

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

ここで、$ _ GETが3より大きい場合は、3に設定するため、3のページが表示されます。

于 2013-03-27T14:14:24.477 に答える