Nombre de messages

Répondre
zak888
le 27/03/2004 à 09:20
zak888
Bonjour à toute la communauté !

J'ai fais le forum qui est proposé, je l'ai pas mal améliorer (j'en ai même profiter pour corriger une faille) mais j'aimerai maitenant pouvoir afficher le nombre de réponses par sujet sur la page index etjene sais pas coment faire.
Vous pouvez m'aider ?
Visistez www.micro-bidouilles.fr.st !!!
LA GLOBULE
le 27/03/2004 à 12:12
LA GLOBULE
Tu veux afficher le nombre de sujet ou le nombre de reponse par sujet sur la page d'accueil ?

Pour le nombre de sujet tout court, tu peux utiliser la fonction mysql_num_rows sur la premiere requete de la page index.php ($sql = 'SELECT id, auteur, titre, date_derniere_reponse FROM forum_sujets ORDER BY date_derniere_reponse DESC';).

Pour afficher le nombre de reponse de chaque sujet, il faut une requete SQL dans le while de la page index.php.
En effet, dans ce while, tu as $data['id'] qui correspond à l'id du sujet que tu es en train d'afficher, et il te suffit de compter toutes les reponses ayant l'attribut correspondance_sujet qui est egal à $data['id'].
La requete ressemblera donc à :
$sql2='SELECT count(id) FROM forum_reponses WHERE correspondance_sujet="'.$data['id].'"';
zak888
le 27/03/2004 à 16:31
zak888
En effet c'est le nombre de reponses par sujet.

J'ai fait donc la requette que tu m'as indiqué mais ne m'y connaissant pas trop en PHP (come tu as pu le remarquer) je suppose qu'il faut faire ensuite une boucle... Mais je ne vois pas très bien comment faire...
Visistez www.micro-bidouilles.fr.st !!!
LA GLOBULE
le 27/03/2004 à 16:46
LA GLOBULE
Y'a pas de boucle à faire.
Tu fais un count : tu recuperes directement le nombre de réponses.
zak888
le 27/03/2004 à 23:27
zak888
En fait non ca marche pas ; j'obtie tt le temps 0 !!
voila le code :

$sql2 = mysql_query('SELECT count(*) FROM forum_reponses WHERE correspondance_sujet="'.$data['id'].'"') or die(mysql_error());
$data2 = mysql_fetch_array($sql2);
$nb_msg = $data2['count(*)'];
Visistez www.micro-bidouilles.fr.st !!!
LA GLOBULE
le 27/03/2004 à 23:33
LA GLOBULE
Mouais....

Essaye ca :

$sql = 'SELECT count(*) FROM forum_reponses WHERE correspondance_sujet="'.$data['id'].'"';
$resultat = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$enr = mysql_fetch_array($resultat);
$nb_msg = $enr[0];
zak888
le 28/03/2004 à 21:38
zak888
Non, rien a faire... marche pas.
Visistez www.micro-bidouilles.fr.st !!!
zebden
le 28/03/2004 à 23:28
zebden
alors essai d'utiliser mysql_fetch_rows($requete);
Mias logiquement count(*) doit marcher
zebdinou pour les intimes / Blog : http://www.zebden.fr
zak888
le 29/03/2004 à 07:57
zak888
Non mais c'est ps grave, je passe àIPB... :-D
Merci quand même !

En tout cas ce serai bien si vous ajoutiez cette fonction dans le forum de "comment faire".
Visistez www.micro-bidouilles.fr.st !!!
Répondre
LoadingChargement en cours