Pagination incorrecte

Fermé
delavega470 Messages postés 298 Date d'inscription dimanche 9 février 2014 Statut Membre Dernière intervention 24 mars 2020 - 23 sept. 2018 à 10:19
yg_be Messages postés 23487 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 10 mars 2025 - 23 sept. 2018 à 12:44
Bonjour à tous !

j'ai fait une pagination qui compte bien , j'ai voulu ajouté un élément comme ceux ci " < " pour dire la page arrière et ce élément ci " > " pour dire la page suivante . je n'arrive pas à le faire. voici l'image que je veux reproduire


voici mon code php pourrai je avoir un coup de main svp merci.
 <?php
 // Connexion a la base de Données
include 'ca/codes/bdcon.php';
$messagesParPage = 5;
//Une connexion SQL doit être ouverte avant cette ligne...
$retour_total=$bd->query('SELECT COUNT(*) AS lib_prod FROM produit INNER join catalogue WHERE produit.id_cata = catalogue.id_cata 
 AND catalogue.id_cata='.$_GET['code'].''); //Nous récupérons le contenu de la requête dans $retour_total
$donnees_total=$retour_total -> fetch(); //On range retour sous la forme d'un tableau.
$total=$donnees_total['lib_prod']; //On récupère le total pour le placer dans la variable $total.
//Nous allons maintenant compter le nombre de pages.
$nombreDePages=ceil($total/$messagesParPage);
 
if(isset($_GET['va'])) // Si la variable $_GET['page'] existe...
{
     $pageActuelle=intval($_GET['va']);
 
     if($pageActuelle>$nombreDePages) // Si la valeur de $pageActuelle (le numéro de la page) est plus grande que $nombreDePages...
     {
          $pageActuelle=$nombreDePages;
     }
}
else // Sinon
{
     $pageActuelle=1; // La page actuelle est la n°1    
}
 
$premiereEntree=($pageActuelle-1)*$messagesParPage;

?>


 <?php 
          echo '<div class="pagination-area">
                 <ul>'; 
                 for($i=1; $i<=$nombreDePages; $i++)
                 {
                  
                  if (!empty($_GET['va']) AND $_GET['va'] >2)
       {
         echo '<li><a href="index.php?&code='.$_GET['code'].'&page=Allproduct.php&va='.$i-- .'"><i class="fa fa-angle-left"></i></a></li>';
       }  for($i=1; $i<=$nombreDePages; $i++) //On fait notre boucle
             //On va faire notre condition
       
       
             if($i==$pageActuelle) //Si il s'agit de la page actuelle...
             {
                 echo '<li><a class="active" href="index.php?code='.$_GET['code'].'&page=Allproduct.php&va='.$i.'">'.$i.'</a></li>'; 
             }  
             else //Sinon...
             {
                  echo '<li> <a href="index.php?&code='.$_GET['code'].'&page=Allproduct.php&va='.$i.'">'.$i.'</a> </li>';
             }
       
            echo '<li><a href="index.php?&code='.$_GET['code'].'&page=Allproduct.php&va='.$i++ .'"><i class="fa fa-angle-right"></i></a></li></ul></div>';
      
                 }
          ?>

2 réponses

yg_be Messages postés 23487 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 10 mars 2025 Ambassadeur 1 570
23 sept. 2018 à 11:00
bonjour,
"je n'arrive pas à le faire": message d'erreur, résultat inattendu?
tu n'as ni expliqué, ni donné un exemple de "page arrière" et "page suivante". si jamais il s'agit de la page juste avant et juste après la page actuelle, pourquoi utilises tu
$i--
et
$i++
, au lieu de
$pageActuelle - 1
et
$pageActuelle + 1
?
0
delavega470 Messages postés 298 Date d'inscription dimanche 9 février 2014 Statut Membre Dernière intervention 24 mars 2020 48
23 sept. 2018 à 11:26
le resultat que je veux c'est quand on clic sur suivant si on etait a la page 2 on va a la page 3.
etant sur la page 3.
on affiche mainteant < 3 4 5 6 >
à la page 6 on affiche < 6 7 8 9 >
0
yg_be Messages postés 23487 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 10 mars 2025 1 570
23 sept. 2018 à 12:44
tu dois donc faire une boucle de $pageActuelle jusqu'au minimum de $nombreDePages et de $pageActuelle + 3.
0