Bonjour,

J'ai suivi un tuto Grafikart pour créer un système de pagination. Tout fonctionne bien, mais j'aimerai créer des boutons 'suivant' et précédent' pour naviguer dans les pages. Je ne sais pas trop comment m'y prendre.
Voici la base pour la création des liens pages :

echo 'PAGES : ';
        for ($i=1;$i<=$nbpage;$i++) {
            if ($i == $cpage) {
                echo '<span class="nodeco largetxt " style="color:#ffa200;">' . "$i - " . '</span>';
            } else {
                echo '<a class="nodeco gray4txt largetxt" href="' . ROOT_BTNARTICLE . '?p=' . $i . '">' . $i . ' - ' . '</a>';

            }
        }

Merci par avance.
:-)

7 réponses


Salut,

Il me semble que tout est expliqué dans son tutoriel, à quel endroit bloques-tu exactement (ton code ne nous apprend pas grand chose) ?

Le tuto est top, mais n'explique pas comment créer des boutons suivant et précédent, simplement des n°de page généré dynamiquement.
Je ne sais pas comment m'y prendre.

Simplement en associant chaque bouton à une requête en jouant sur les limites.

Grosso modo ça donnerait qqch comme ceci (c'est dégueulasse mais c'est pour l'exemple) :
HTML:

/* HTML */
<a href="pagination.php?_p=<?= $_GET['p'] - 1 ?>">Précédent</a>
// Pagination
<a href="pagination.php?_p=<?= $_GET['p'] + 1 ?>">Suivant</a>

PHP:

$limit = /* ici tu détermines les bornes en fonction de la page sur laquelle l'utilisateur se trouve via la variable $_GET['p'] */
$q = "SELECT * FROM ma_table ORDER BY id DESC LIMIT " . $limit;

En espérant avoir été assez clair.

Merci Cyprien, je comprends l'idée, mais je ne vois pas comment déterminer $limit, peux-tu m'y aider ?

Personne pour m'aider ?

Salut,
peut être j'ai une solution pour ton probléme, tiens un lien -> https://www.youtube.com/watch?v=hdUDfxxw8Ws
Je suis sur que tu vas réussir à faire ta pagination sans doute , un peu de réflexion et c'est tout..

Allez Ciao .

Salut,
Voilà la réponse.

<?php
    $currentPage = $_GET['p']; // on récupère la page courante 
    $nbpage = 5; // Variable de test
    if($currentPage > 1 && $currentPage <= $nbpage ){
       echo '<a class="nodeco gray4txt largetxt" href="' . ROOT_BTNARTICLE . '?p=' . ($currentPage - 1) . '">Page précédente</a>';
    }    
    for ($i = 1;$i<=$nbpage;$i++) {
        echo '<a class="nodeco gray4txt largetxt" href="' . ROOT_BTNARTICLE . '?p=' . $i . '">' . $i . ' - ' . '</a><br>';
    }
    if($currentPage < $nbpage){
       echo '<a class="nodeco gray4txt largetxt" href="' . ROOT_BTNARTICLE . '?p=' . ($currentPage + 1) . '">Page suivante</a>';
    }
?>