Plusieurs pages dans un forum
Résolu/Fermé
Oniros
Messages postés
20
Date d'inscription
samedi 2 décembre 2006
Statut
Membre
Dernière intervention
6 octobre 2007
-
30 sept. 2007 à 18:19
ilan27 Messages postés 394 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 15 juin 2009 - 3 oct. 2007 à 17:35
ilan27 Messages postés 394 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 15 juin 2009 - 3 oct. 2007 à 17:35
A voir également:
- Plusieurs pages dans un forum
- Comment supprimer une page dans word - Guide
- Comment ralentir un compteur linky forum - Accueil - Objets connectés
- Fichier .pages ✓ - Forum Word
- Forum convertisseur youtube mp3 ✓ - Forum Logiciels
5 réponses
ilan27
Messages postés
394
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
15 juin 2009
36
30 sept. 2007 à 20:08
30 sept. 2007 à 20:08
Je peux te dire comment faire des liens vers des pages suivant le nb de messages, mais aller directement à la deuxième page s'il y en a un certain nombre, dans ce cas je te propose d'afficher tes messages dans l'ordre decroissant des dates d'insertion ou des id... et onvient directement sur le dernier message entré.
Voici le script: (dis moi si tu ne comprends pas, tu dois l'adapter à ta base de données)
$r1=mysql_query("SELECT COUNT(*) AS nb_messages FROM forum");
$donn1=mysql_fetch_array($r1);
$totalDesMessages = $donn1['nb_messages'];
//On a le nombre de messages total
$nombredepages = ceil($totalDesMessages / $nbmessparpage);
On arrondit au supérieur
if(isset($_GET['page'])){
//On a demandé une page en cliquant un lien
for($i=1; $i<=$nombredepages; $i++){
//On balaye les pages pour tomber sur celle qui a été demandée
if($_GET['page']==$i){
//On a demandé cette page i
$requet=mysql_query("SELECT * FROM forum ORDER BY id DESC LIMIT ". ($nbmessparpage*$i-$nbmessparpage) . "," . $nbmessparpage . "") or die(mysql_error());;
//On choisit les messages en fonction de la page demandée; Exemple: on a demandé la page 12, alors on affiche les messages a partir du n°(12*20)-20=220, contenant 20 messages
while ($donnees=mysql_fetch_array($requet)) {
//On affiche les données.Ex:
echo "<tr><font size='4' color='blue' face='arial'><td>";
echo $donnees['coord_temp'];
echo "</td><th> ";
echo $donnees['pseudo'];
echo "</th>";
echo "<td> ";
echo $donnees['message'];
echo "</td></font></tr>";
}
$temoin=1;//Pour témoigner comme quoi on a bien trouvé une page, on est rentré dans le if
}
}
if($temoin==0){ // On a demandé une page qui nexiste pas: erreur. Affiche la page 1 (car si temoin vaut 0, on est pas rentré dans le if...)
$query=mysql_query("SELECT * FROM ".$forum." ORDER BY id DESC LIMIT 0," . $nbmessparpage . "") or die(mysql_error());
while ($donneesA=mysql_fetch_array($requet)) {
//De meme on affiche les données de ces messages
}
}
}else{
//Rien demandé: affiche page1 par defaut
$query=mysql_query("SELECT * FROM ".$forum." ORDER BY id DESC LIMIT 0," . $nbmessparpage . "") or die(mysql_error());
while ($donneesA=mysql_fetch_array($query)) {
//Affichage des données des 20 premiers messages
}
}
echo "</b></table><br><br>";
Voici le script: (dis moi si tu ne comprends pas, tu dois l'adapter à ta base de données)
$r1=mysql_query("SELECT COUNT(*) AS nb_messages FROM forum");
$donn1=mysql_fetch_array($r1);
$totalDesMessages = $donn1['nb_messages'];
//On a le nombre de messages total
$nombredepages = ceil($totalDesMessages / $nbmessparpage);
On arrondit au supérieur
if(isset($_GET['page'])){
//On a demandé une page en cliquant un lien
for($i=1; $i<=$nombredepages; $i++){
//On balaye les pages pour tomber sur celle qui a été demandée
if($_GET['page']==$i){
//On a demandé cette page i
$requet=mysql_query("SELECT * FROM forum ORDER BY id DESC LIMIT ". ($nbmessparpage*$i-$nbmessparpage) . "," . $nbmessparpage . "") or die(mysql_error());;
//On choisit les messages en fonction de la page demandée; Exemple: on a demandé la page 12, alors on affiche les messages a partir du n°(12*20)-20=220, contenant 20 messages
while ($donnees=mysql_fetch_array($requet)) {
//On affiche les données.Ex:
echo "<tr><font size='4' color='blue' face='arial'><td>";
echo $donnees['coord_temp'];
echo "</td><th> ";
echo $donnees['pseudo'];
echo "</th>";
echo "<td> ";
echo $donnees['message'];
echo "</td></font></tr>";
}
$temoin=1;//Pour témoigner comme quoi on a bien trouvé une page, on est rentré dans le if
}
}
if($temoin==0){ // On a demandé une page qui nexiste pas: erreur. Affiche la page 1 (car si temoin vaut 0, on est pas rentré dans le if...)
$query=mysql_query("SELECT * FROM ".$forum." ORDER BY id DESC LIMIT 0," . $nbmessparpage . "") or die(mysql_error());
while ($donneesA=mysql_fetch_array($requet)) {
//De meme on affiche les données de ces messages
}
}
}else{
//Rien demandé: affiche page1 par defaut
$query=mysql_query("SELECT * FROM ".$forum." ORDER BY id DESC LIMIT 0," . $nbmessparpage . "") or die(mysql_error());
while ($donneesA=mysql_fetch_array($query)) {
//Affichage des données des 20 premiers messages
}
}
echo "</b></table><br><br>";
Oniros
Messages postés
20
Date d'inscription
samedi 2 décembre 2006
Statut
Membre
Dernière intervention
6 octobre 2007
1 oct. 2007 à 09:48
1 oct. 2007 à 09:48
Merci beaucoup !
Je vais essayer et je te tiens au courant.
encore merci.
Je vais essayer et je te tiens au courant.
encore merci.
ilan27
Messages postés
394
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
15 juin 2009
36
1 oct. 2007 à 14:20
1 oct. 2007 à 14:20
Attends j'ai oublié de te dire d'initialiser les variables $temoin=0; et $nbmessparpage=20; ou 30 ou ce que tu veux!
Oniros
Messages postés
20
Date d'inscription
samedi 2 décembre 2006
Statut
Membre
Dernière intervention
6 octobre 2007
3 oct. 2007 à 17:20
3 oct. 2007 à 17:20
ha ok j'ai comprit l'idée ! En fait quand on choisit une page, ca affiche les messages à partir d'un certain nombres de messages, suivant la page demandée.
Merci beaucoup et en plus c'est tout simple à faire !
Merci beaucoup et en plus c'est tout simple à faire !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ilan27
Messages postés
394
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
15 juin 2009
36
3 oct. 2007 à 17:35
3 oct. 2007 à 17:35
Oui c'est exactement ça. Simple, mais il fallait y penser ;)
Donc c'est bon? ça marche?
Donc c'est bon? ça marche?