8797 sujets

Développement web côté serveur, CMS

bonjour
j'ai les résultats ($resultat_sql) de mes requetes qui s'affichent sur plusieurs pages
je souhaite afficher ma pagination de 3 en 3 du genre
123 suivant
précédent 456 suivant
précédebt 678 suivant
précédent 789 suivant
etc

Mais les exemples que je trouve sur le sujet ne sont jamais de ce genre
je ne sais donc pas comment faire
Merci d'avance pour votre aide
Voici ma pagination actuelle








$nombreDeMessagesParPage = 10;  
$n =mysql_num_rows($resultat_sql);  
$nombresDePages =ceil($n/$nombreDeMessagesParPage );  

  
echo '>Pages :  '; 
for ($i = 1 ; $i <= $nombresDePages ; $i++)  
{  
echo '<a href="tenter.php?page='.$i.'&quoi='.$quoi.'>'. $i .'</a> ';  

}  

if (isset($_GET['page']))  
{  
$page = $_GET['page']; }  
else  
{  
$page = 1; }  



$premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage;  
$sqll= "SELECT texte  FROM essai  where archives !='oui' AND date !=CURDATE() "; 


$sqll .=" ORDER BY nombre  ASC LIMIT " . $premierMessageAafficher . ", " . $nombreDeMessagesParPage; 
Je verrai un truc du genre :

// Première page
if(!isset($_GET["page"]) || $_GET["page"] == 1)
{
    for ($i = 1 ; $i <= 3 ; $i++)  
    {
        //page $i : lien?page=$i
    }
    //suivant : lien?page=2
}

//Dernière page
else if($_GET["page"] == $nombresDePages)
{
    //précedent : lien?page=$nombresDePages-1
    for ($i = $nombresDePages-3 ; $i <= $nombresDePages ; $i++)  
    {
        //page $i : lien?page=$i
    }
}

// Autre page
else
{
    //précedent : lien?page=$nombresDePages-1
    for ($i = $_GET["page"]-1 ; $i <= $_GET["page"]+1 ; $i++)  
    {
        //page $i : lien?page=$i
    }
    
    //suivant : lien?page=$_GET["page"]+1
}


Faudrait aussi rajouter des tests pour le cas où il y a moins de 3 pages.
bonjour
merci pour ta réponse
a écrit :

// Première page
if(!isset($_GET["page"]) || $_GET["page"] == 1)
{
for ($i = 1 ; $i <= 3 ; $i++)
{
//page $i : lien?page=$i
}
//suivant : lien?page=2
}


je ne comprends pas bien pourquoi pour suivant il y a page = 2 comment faire si je suis sur page 2 et que je clique sur suivant
Merci d'avance
Salut karenma Smiley cligne ,

je pense que le code de SamsamTS donne 2 versions :

la première qui incrémente les n° de pages et qui écrit le lien sous la forme page n : lien?page=n

et la seconde qui ne récupère que la page précédente (si elle existe) et la page suivante (si elle existe). Donc pour la page n°1 il n'existe qu'une page suivante : lien?page=2

Il faut bien sûr que tu choisisses l'une des 2 versions.


A+