Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 General Discussions
  #1  
Old 09-11-2005, 04:37 AM
Boofo's Avatar
Boofo Boofo is offline
 
Join Date: Mar 2002
Location: Des Moines, IA (USA)
Posts: 15,776
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default How do I get the total amount of replies?

How can I chnage the following to get only the ammount of replies and not replies and threads?

PHP Code:
  $topposter $db->query_first("
  SELECT user.userid, user.username, COUNT(post.postid) AS postcount
  FROM " 
TABLE_PREFIX "post AS post
  LEFT JOIN " 
TABLE_PREFIX "thread AS thread ON (post.threadid = thread.threadid)
  LEFT JOIN " 
TABLE_PREFIX "user AS user ON (post.userid = user.userid)
  WHERE thread.forumid=
$forumid
  GROUP BY post.userid
  ORDER BY postcount DESC
  LIMIT 1
 "
); 
Reply With Quote
  #2  
Old 09-11-2005, 05:03 AM
Andreas's Avatar
Andreas Andreas is offline
 
Join Date: Jan 2004
Location: Germany
Posts: 6,863
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Isn't that obvious?

PHP Code:
$topposter $db->query_first("
  SELECT user.userid, user.username, COUNT(post.postid) AS postcount
  FROM " 
TABLE_PREFIX "post AS post
  LEFT JOIN " 
TABLE_PREFIX "thread AS thread ON (post.threadid = thread.threadid)
  LEFT JOIN " 
TABLE_PREFIX "user AS user ON (post.userid = user.userid)
  WHERE thread.forumid=
$forumid AND thread.firstpostid != post.postid
  GROUP BY post.userid
  ORDER BY postcount DESC
  LIMIT 1
 "
); 
Reply With Quote
  #3  
Old 09-11-2005, 05:27 AM
Boofo's Avatar
Boofo Boofo is offline
 
Join Date: Mar 2002
Location: Des Moines, IA (USA)
Posts: 15,776
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

It wasn't until you pointed it out to me.

Thank you, sir.
Reply With Quote
  #4  
Old 09-11-2005, 12:43 PM
Boofo's Avatar
Boofo Boofo is offline
 
Join Date: Mar 2002
Location: Des Moines, IA (USA)
Posts: 15,776
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Ok, new problem.

The 2 following queries seem to be interfering with each other. What happens is the first query is only for the top replies to a thread. The second query is for all posts in a thread (Threads + Replies). Sometimes, not always, the Top Poster (second query) will pick up the Top Relpies (first query) username. The other counts seem to stay correct. First, is there a way to combine the 2 and if not, how do I keep the username mix-up from happening?

PHP Code:
 $topreplies $db->query_first("
SELECT user.userid, user.username, COUNT(post.postid) AS replycount
FROM " 
TABLE_PREFIX "post AS post
LEFT JOIN " 
TABLE_PREFIX "thread AS thread ON (post.threadid = thread.threadid)
LEFT JOIN " 
TABLE_PREFIX "user AS user ON (post.userid = user.userid)
WHERE thread.forumid=
$forumid AND thread.firstpostid != post.postid
GROUP BY post.userid
ORDER BY replycount DESC
LIMIT 1
"
);
 
$topposter $db->query_first("
SELECT user.userid, user.username, COUNT(post.postid) AS postcount
FROM " 
TABLE_PREFIX "post AS post
LEFT JOIN " 
TABLE_PREFIX "thread AS thread ON (post.threadid = thread.threadid)
LEFT JOIN " 
TABLE_PREFIX "user AS user ON (post.userid = user.userid)
WHERE thread.forumid=
$forumid
GROUP BY post.userid
ORDER BY postcount DESC
LIMIT 1
"
); 
Reply With Quote
  #5  
Old 09-11-2005, 01:12 PM
Boofo's Avatar
Boofo Boofo is offline
 
Join Date: Mar 2002
Location: Des Moines, IA (USA)
Posts: 15,776
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Ok, I think I fixed it. I changed the top poster query to this:

PHP Code:
  $topposter $db->query_first("
  SELECT user.userid, user.username, COUNT(post.postid) AS postcount
  FROM " 
TABLE_PREFIX "post AS post
  LEFT JOIN " 
TABLE_PREFIX "thread AS thread ON (post.threadid = thread.threadid)
  LEFT JOIN " 
TABLE_PREFIX "user AS user ON (post.userid = user.userid)
  WHERE thread.forumid=
$forumid AND thread.firstpostid = post.postid
  GROUP BY post.userid
  ORDER BY postcount DESC
  LIMIT 1
 "
); 
I added this:

PHP Code:
  AND thread.firstpostid post.postid 
to this:

PHP Code:
   WHERE thread.forumid=$forumid 
and it seemed to fix it. Still, is there a way to combine these 2 queries and get all the same info out of it?
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 04:47 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.03704 seconds
  • Memory Usage 2,212KB
  • Queries Executed 13 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (6)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (5)post_thanks_box
  • (5)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (5)post_thanks_postbit_info
  • (5)postbit
  • (5)postbit_onlinestatus
  • (5)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete