1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| define('NB_PAR_PAGE', 2); // Nombre de résultats par page
define('MAX_NB_PAGES', 4); // Nombre maximal de pages à afficher dans le système de navigation
// [...]
$page = isset($_GET['page']) ? intval($_GET['page']) : 1;
// [...]
$derniere_page = ceil($nb / NB_PAR_PAGE);
// [...]
if ($nb > NB_PAR_PAGE) {
echo '<ul class="pagination">';
if ($page > 1) {
echo '<li><a href="' . basename(__FILE__) . '?page=' . ($page - 1) . '">Page précédente</a></li>';
}
for ($i = min(max($page - MAX_NB_PAGES / 2, 1), $derniere_page - MAX_NB_PAGES), $j = 0; $j <= MAX_NB_PAGES && $i <= $derniere_page; $i++, $j++) {
if ($i == $page) {
echo '<li class="page-courante">' . $i . '</li>';
} else {
echo '<li><a href="' . basename(__FILE__) . '?page=' . $i . '">' . $i . '</a></li>';
}
}
if ($page < $derniere_page) {
echo '<li><a href="' . basename(__FILE__) . '?page=' . ($page + 1) . '">Page suivante</a></li>';
}
echo '</ul>';
} |
Partager