Pagination très simple: page suivante, précédente, marquage de la page où l'on est

Soyez le premier à donner votre avis sur cette source.

Snippet vu 10 574 fois - Téléchargée 32 fois

Contenu du snippet

Ne vous cassez plus la tête pour faire une pagination... J'ai trouvé un moyen, qui existait déjà peut etre, mais en tous cas j'ai tout trouvé dans ma tête... lol. Donc c'est un code qui vous permet de paginer vos données présentes dans une base mysql...
Au fait je vous préviens, je code dans le blocnote alors pour certains je code comme un pti cochon...

Source / Exemple :


<?php

//Cette pagination est présente sur la page votrepage.php (c'est un exemple bien sûr...)

include('votreconnection.php');

//il faut connaitre le nombre total de news (par exemple) que vous avez...
$req1=mysql_query("SELECT COUNT(id) FROM news");
$nbnews=mysql_fetch_row($req1);
$nbnews=$nbnews[0];

//dans mon exemple, on va dire qu'on veut afficher 10 news par page...
//On fait donc la moyenne pour savoir combien il y aura de page
$moy=$nbnews/10;

//ensuite, il nous faut un chiffre rond, et pour cela il y a une fonction formidable qui 
//arrondi un nombre décimal au nombre entier suppérieur!
$sit=ceil($moy);

//Il faut maintenant afficher vos pages...
//ps: ici, pour avoir un max de clarté j'ai mis le minimum d'html, mais rien ne vous empeche 
//de mettre des tableaux, des couleurs etc...

//la formule...
$min=($where-1)*10;

$req2=mysql_query("SELECT * FROM news LIMIT $min , 10 ");

while ($ligne=mysql_fetch_array($req2))
{

$contenu=$ligne['contenu'];

echo"$contenu<br>";

}

//si where est égal à 2, vous êtes sur la page 2.. Donc là je dis que si 
//$where n'existe pas, alors il est égal à 1
if (!($where))
{
$where=1;
}

$start=1;

//si where est strictement plus grand que 1, alors il faut un bouton précédent

if ($where>=2)
{

$pre=$where-1;
echo"
<a href=votrepage.php?where=$pre><<</a> | 
";

}

while ($start<$where)
{

echo"<a href=votrepage.php?where=$start>";
echo $start++;
echo"</a> | ";

}

echo"
<span style=\"background-color: #FFFF00\">$where</span> | 
";

$nwhere=$where+1;

while ($nwhere<=$sit)
{

echo"<a href=votrepage.php?where=$nwhere>";
echo $nwhere++;
echo"</a> | ";

}

if ($where<$sit)
{

$sui=$where+1;

echo"<a href=votrepage.php?where=$sui>>></a>";

}

//ce code a été écrit par bourgi220 et testé par bourgi220: il fonctionne correctement

?>

Conclusion :


Tout ça a été possible grâce à la fonction ceil que j'ai découverte sur ce site... en fait toute cette pagination tourne autour de ça... Maintenant j'attends vos critiques, suggestions, appréciations ou questions... lol a++ et bon code à tous!

A voir également

Ajouter un commentaire Commentaires
Messages postés
273
Date d'inscription
dimanche 4 octobre 2009
Statut
Membre
Dernière intervention
24 juin 2014
4
ce code est ani-islam
Messages postés
2
Date d'inscription
lundi 19 juin 2006
Statut
Membre
Dernière intervention
22 juillet 2008

Ben, de rien c'est fait pour : )
Messages postés
13
Date d'inscription
jeudi 1 février 2007
Statut
Membre
Dernière intervention
5 juin 2007

Bonjour Jashugal !

Merci pour ton bout de code corrigé, il est parfait, impect et cela m'a vraiment aidé pour mes systèmes de paginations.

Mile fois merci ton code fonctionne à merveille chez moi
Messages postés
2
Date d'inscription
mardi 22 août 2006
Statut
Membre
Dernière intervention
6 septembre 2006

Salut à tous,
J'ai beau chercher pourquoi ce script ne marche pas et je ne vois rien, voilà le problème :
J'affiche bien la première page de ma requete, j'y trouve bien le bon nombre d'enregistrements, tous les liens apparaissent bien mais impossible d'afficher les autres pages.
L'url des liens semble bonne .../pagination.php?where=2 ou 3, etc. mais je reste sur la première page ?

J'ai testé plusieurs scripts de pagination, ça parait enfantin au départ et pourtant ça coince toujours à ce niveau là. Y a un truc que je pige pas !

Un tutorial sur le sujet serait le bienvenu !

Merci de votre aide.
Messages postés
80
Date d'inscription
lundi 19 juin 2006
Statut
Membre
Dernière intervention
16 février 2008

sorry les mecs c'est ma requete qui est tres compliquée :( au fait pour mon affichage j'utilise X>1 requètes en utilisant votre systeme j'applique la limite aux X requètes une apres une . le resultat final ne sera pas forcement celui attendu???!! non? si vous aves des astuces j'attend.
Afficher les 13 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.