Compter le nombre de messages dans un forum
Posté : 07 mars 2012, 02:02
Salut à vous
Voici le problème.
J'ai constater sur mon forum, que j'ai un soucis lors de l'affichage du nombre de post (messages) dans un forum.
En effet ce chiffre est complément erroné.
Voici ma requête. Il s'agit de la partie (SELECT COUNT(post_id) FROM t_post WHERE t_topic.topic_id = t_post.topic_id) AS Nbpost
Comment compteriez vous le nombre de messages total contenu dans un forum, je ne vois plus comment faire cela.
Merci de votre aide
Cordialement
Ps: Vous pouvez vous faire une idée ici.
Voici le problème.
J'ai constater sur mon forum, que j'ai un soucis lors de l'affichage du nombre de post (messages) dans un forum.
En effet ce chiffre est complément erroné.
Voici ma requête. Il s'agit de la partie (SELECT COUNT(post_id) FROM t_post WHERE t_topic.topic_id = t_post.topic_id) AS Nbpost
SELECT
t_cat.cat_id,
t_cat.cat_name,
t_forum.cat_id,
t_forum.forum_id,
t_forum.forum_name,
t_forum.forum_description,
t_forum.forum_auth_view,
t_topic.topic_id,
t_post.post_id,
t_post.post_date,
t_post.users_id,
t_topic_view.users_id AS view_id,
(SELECT COUNT(topic_id) FROM t_topic WHERE t_topic.forum_id = t_forum.forum_id) AS Nbtopic,
(SELECT COUNT(post_id) FROM t_post WHERE t_topic.topic_id = t_post.topic_id) AS Nbpost
FROM t_cat
INNER JOIN t_forum
ON t_cat.cat_id = t_forum.cat_id
LEFT JOIN t_topic
ON t_forum.forum_id = t_topic.forum_id
LEFT JOIN t_post
ON t_post.topic_id = t_topic.topic_id
LEFT OUTER JOIN t_topic_view
ON t_post.topic_id = t_topic_view.topic_id
AND t_topic_view.users_id = :usersid
WHERE forum_auth_view <= :rank_id
AND t_cat.cat_id = t_forum.cat_id
ORDER BY t_cat.cat_order, t_forum.forum_order, t_post.post_id DESC
J'ai tester, mais en vain. Il s'agit de la partie (SELECT COUNT(post_id) FROM t_post WHERE t_topic.forum_id = t_forum.forum_id) AS Nbpost
SELECT
t_cat.cat_id,
t_cat.cat_name,
t_forum.cat_id,
t_forum.forum_id,
t_forum.forum_name,
t_forum.forum_description,
t_forum.forum_auth_view,
t_topic.topic_id,
t_post.post_id,
t_post.post_date,
t_post.users_id,
t_topic_view.users_id AS view_id,
(SELECT COUNT(topic_id) FROM t_topic WHERE t_topic.forum_id = t_forum.forum_id) AS Nbtopic,
(SELECT COUNT(post_id) FROM t_post WHERE t_topic.forum_id = t_forum.forum_id) AS Nbpost
FROM t_cat
INNER JOIN t_forum
ON t_cat.cat_id = t_forum.cat_id
LEFT JOIN t_topic
ON t_forum.forum_id = t_topic.forum_id
LEFT JOIN t_post
ON t_post.topic_id = t_topic.topic_id
LEFT OUTER JOIN t_topic_view
ON t_post.topic_id = t_topic_view.topic_id
AND t_topic_view.users_id = :usersid
WHERE forum_auth_view <= :rank_id
AND t_cat.cat_id = t_forum.cat_id
ORDER BY t_cat.cat_order, t_forum.forum_order, t_post.post_id DESC
Tout est affiché normalement (sauf le système lu non lu, que j'arrive pas à faire, mais c'est pas le sujet).Comment compteriez vous le nombre de messages total contenu dans un forum, je ne vois plus comment faire cela.
Merci de votre aide
Cordialement
Ps: Vous pouvez vous faire une idée ici.