Pagination incorrecte

delavega470 Messages postés 298 Date d'inscription   Statut Membre Dernière intervention   -  
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   -
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 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
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   Statut Membre Dernière intervention   48
 
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 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
tu dois donc faire une boucle de $pageActuelle jusqu'au minimum de $nombreDePages et de $pageActuelle + 3.
0