Problème de "pagination" !!

Signaler
Messages postés
14
Date d'inscription
samedi 28 janvier 2006
Statut
Membre
Dernière intervention
31 mars 2006
-
Messages postés
507
Date d'inscription
mardi 18 février 2003
Statut
Membre
Dernière intervention
22 juin 2012
-
bonjour tout le monde,

je voudrais savoir comment faire pour gérer la pagination au niveau des message postés dans mon forum, je m'explique : lorsque j'ai par exemple 20 messages postés, au lieu de les afficher dans une seule page, j'aimerai pouvoir les séparer en deux pages avec par exemple deux lien en bas : 'page1','pages2', .. vous connaissez sûrement le truc.

voila j'espère que me suis bien exprimé
merci d'avance

5 réponses

Messages postés
1216
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
5
vois la requete select limit
Messages postés
507
Date d'inscription
mardi 18 février 2003
Statut
Membre
Dernière intervention
22 juin 2012
2
moi aussi je devais faire sa avec mes news sur mon site mais comme j'avais pas le net g pas pu chercher du coup g fé mon algorithme il fonctionne mais a mmon avis il est pas tres tres propre la je suis pas chez moi si tu ve j'éssaieraii de le poster ce soir

L0rD...
Messages postés
14
Date d'inscription
samedi 28 janvier 2006
Statut
Membre
Dernière intervention
31 mars 2006

salut,
xactise , ok c'est gentil merci
sidf c'est pas vraiment le problème, mais c'est comment faire pour ajouter les liens 'page1','page2', ...
est ce qu'il y a des sources sur le site que je pourrais consulter?
car j'ai cherché j'ai rien trouvé !!
Messages postés
507
Date d'inscription
mardi 18 février 2003
Statut
Membre
Dernière intervention
22 juin 2012
2
Messages postés
507
Date d'inscription
mardi 18 février 2003
Statut
Membre
Dernière intervention
22 juin 2012
2
Bon voila comme promis avec un peu de retard ma source que j'ai fait moi même pour la pagination
C'est surement pas optimiser mais sa marche et c commenter en plus ;)

<HTML>
<HEAD>
</HEAD>

<?PHP
// On appel le fichier config/connec.php pour les variables de connexion
include 'config/connec.php';
// Déclaration de variables diverses
$j=1;
$k=1;
$stop=0;
$total=0;
// Connexion a la base de données
$idConnexion = mysql_connect("$serveur", "$login", "$pass") or die("Connexion impossible");
mysql_select_db("$base",$idConnexion);
// Requête SQL qui sélectionne tous les champs de la table blog_news
$requete = "select * from blog_news";
$envoi = mysql_query($requete);
while($tableau = mysql_fetch_array($envoi)) {
// On le nombre de donnée
$total++;
}
// On divise ce nombre par 5 (parce qu'on affiche 5 news par page)
$total = $total/5;
// Requête SQL qui sélectionne tous les champs de la table blog_news par ID décroissant
$requete = "select * from blog_news order by id desc";
$envoi = mysql_query($requete);
while($tableau = mysql_fetch_array($envoi)) {
// Si $stop==0 alors on affiche les news
if($stop==0){
// On stocke les données des différents champs dans différentes variables
$date = $tableau['date'];
$heure = $tableau['heure'];
$news = $tableau['news'];
// On affiche la news
echo "<FORM>
<FIELDSET>
<LEGEND>Le $date à $heure</LEGEND>
$news
</FIELDSET>
</FORM>


";
}
// Si le reste de la division de $j par 5 est égale a 0 alors on crée un fichier
if($j%5==0){
// On met stop à 1 pour ne plus afficher les news dans la première page
$stop=1;
// Nom du fichier a créer
$file = "news_$k.php";
// Ouverture du fichier on supprime son contenu ou création si le fichier n'existe pas
$fp = fopen("$file" , "w+");
// Contenu du fichier
$somecontent = '<?PHP
// On appel le fichier config/connec.php pour les variables de connexion
include \'config/connec.php\';
// Connexion à la base de données
$idConnexion = mysql_connect("$serveur", "$login", "$pass") or die("Connexion impossible");
mysql_select_db("$base",$idConnexion);
// Requête SQL qui sélectionne tous les champs de la table blog_news dont les ID sont compris entre '.$j.' et '.$j.' + 5
$requete = "select * from blog_news order by id desc limit '.$j.',5";
$envoi = mysql_query($requete);
while($tableau = mysql_fetch_array($envoi)) {
// On stocke les données des différents champs dans différentes variables
$date = $tableau[\'date\'];
$heure = $tableau[\'heure\'];
$news = $tableau[\'news\'];
// On affiche la news
echo "<FORM>
<FIELDSET>
<LEGEND>Le $date à $heure</LEGEND>
$news
</FIELDSET>
</FORM>


";
}
// On affiche les liens des autres pages
echo "";
echo "1 ";
for($i=1;$i<'.$total.';$i++){
$x = $i+1;
echo "$x ";
}
echo "

";
// On ferme la connexion
mysql_close($idConnexion);
?>
';
// On met le contenu dans le fichier
fwrite($fp, $somecontent);
// Fermeture du fichier
fclose($fp);
// On incrémente le nombre de fichier
$k++;
}
// On incrémente le nombre de news
$j++;
}
// On affiche les liens des autres pages
echo "";
echo "1 ";
for($i=1;$i<$total;$i++){
$x = $i+1;
echo "$x ";
}
echo "

";
// On ferme la connexion
mysql_close($idConnexion);
?>

</HTML>