Problème de "pagination" !!

cs_ysn Messages postés 14 Date d'inscription samedi 28 janvier 2006 Statut Membre Dernière intervention 31 mars 2006 - 1 mars 2006 à 12:50
xactise Messages postés 507 Date d'inscription mardi 18 février 2003 Statut Membre Dernière intervention 22 juin 2012 - 6 mars 2006 à 18:41
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

sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
1 mars 2006 à 13:49
vois la requete select limit
0
xactise Messages postés 507 Date d'inscription mardi 18 février 2003 Statut Membre Dernière intervention 22 juin 2012 2
1 mars 2006 à 16:42
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...
0
cs_ysn Messages postés 14 Date d'inscription samedi 28 janvier 2006 Statut Membre Dernière intervention 31 mars 2006
1 mars 2006 à 19:47
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é !!
0
xactise Messages postés 507 Date d'inscription mardi 18 février 2003 Statut Membre Dernière intervention 22 juin 2012 2
2 mars 2006 à 07:44
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
xactise Messages postés 507 Date d'inscription mardi 18 février 2003 Statut Membre Dernière intervention 22 juin 2012 2
6 mars 2006 à 18:41
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>
0
Rejoignez-nous