Rechercher : dans
Par :

Plusieurs pages dans un forum

Dernière réponse le 3 oct 2007 à 17:35:39 Oniros, le 30 sep 2007 à 18:19:43 
 Signaler ce message aux modérateurs

Bonjour,

Je suis en train de créer un forum en php/mysql, et je voudrais faire la chose suivante :

quand un utilisateur clique sur un sujet, il a accès aux messages des autres utilisateus. Et bien je voudrais faire en sorte qu'au bout de 20 messages, l'utilisateur soit ramené sur la page n° 2, et que par la suite un lien vers cette deuxième page soit disponible quand l'utilisateur choisi un sujet. Et ainsi de suite pour les pages 3, 4, 5, etc...
Mais je ne sais absolument pas comment procéder...

Merci d'avance pour vos réponses.

Configuration: Windows XP
Internet Explorer 7.0

Meilleures réponses pour « plusieurs pages dans un forum » dans :
[Webmaster] Publier facilement une vidéo dans une page web VoirPublier une vidéo dans une page web n'est pas toujours évident: Selon le format (AVI, MPG, MOV...) tout le monde ne possède pas forcément le bon plugin et le bon codec. En revanche, la quasi-totalité des navigateurs possèdent le plugin Flash (SWF)....
Enregistrer une page web VoirProblème Je n'arrive pas à télécharger une page web. Y a-t-il un paramétrage à faire ? Solution Quand la page web est affichée dans votre navigateur, faites "Fichier" et choisissez "Enregistrer sous...". Merci à sebsauvage sur le forum pour...
Guide d'utilisation du forum de CommentCaMarche.net VoirPrésentation du forum Les différents forums Présentation de l'interface La lecture des messages La rédaction des messages Les options de mise en page Marquer une discussion comme étant résolue La recherche de messages Présentation du...
Webmastering - Introduction à la création de pages web VoirNotion de site web Un site web (aussi appelé site internet par abus de langage) est un ensemble de fichiers HTML, liés par des liens hypertextes, stockés sur un serveur web, c'est-à-dire un ordinateur connecté en permanence à internet, hébergeant...
Introduction aux Java Server Pages VoirPrésentation des Java Server Pages Les JSP (Java Server Pages) sont un standard permettant de développer des applications Web interactives, c'est-à-dire dont le contenu est dynamique. C'est-à-dire qu'une page web JSP (repérable par l'extension...

1

ilan27, le 30 sep 2007 à 20:08:00

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>";

Répondre à ilan27

2

Oniros, le 1 oct 2007 à 09:48:15

Merci beaucoup !
Je vais essayer et je te tiens au courant.

encore merci.

Répondre à Oniros

3

ilan27, le 1 oct 2007 à 14:20:15

Attends j'ai oublié de te dire d'initialiser les variables $temoin=0; et $nbmessparpage=20; ou 30 ou ce que tu veux!

Répondre à ilan27

4

Oniros, le 3 oct 2007 à 17:20:27

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 !

Répondre à Oniros

5

 ilan27, le 3 oct 2007 à 17:35:39

Oui c'est exactement ça. Simple, mais il fallait y penser ;)
Donc c'est bon? ça marche?

Répondre à ilan27