vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB3 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=15)
-   -   Query to count user's Threads and Posts (https://vborg.vbsupport.ru/showthread.php?t=106805)

discussionarena 01-31-2006 12:43 PM

Query to count user's Threads and Posts
 
What is the query to discover the exact number of threads of a member and the number of posts ?

Thanks

.

Xenon 01-31-2006 03:44 PM

[sql]SELECT count(*) FROM thread WHERE postuserid = xx[/sql]
[sql]SELECT count(*) FROM post WHERE userid = xx[/sql]

note: that will also show soft deleted and under moderation posts/threads

discussionarena 01-31-2006 04:15 PM

Thanks

Xenon 01-31-2006 09:39 PM

you're welcome :)

WoGuziczek 11-11-2008 05:35 PM

thanks ;)

romputer 02-01-2009 08:33 PM

Following the logic, what would be the query to discover the exact number of posts for each forum the group "Registered Users" can see, per member?

Output something like this:
Member Name, Each Forum Name and Post Number
Frank, Forum1: 261, Forum2: 197, Forum3: 367

Thanks!

Dismounted 02-03-2009 04:39 AM

Not sure what you want there. Do you want the number of posts user X has done in each forum?

romputer 02-03-2009 06:24 PM

Quote:

Originally Posted by Dismounted (Post 1732686)
Not sure what you want there. Do you want the number of posts user X has done in each forum?

Yes. Exactly. For every member of the usergroup "Registered Members" who has at least made one post in any forum.

Frank, Forum1: 261, Forum2: 197, Forum3: 367
Hank, Forum1: 11, Forum2: 39, Forum3: 912
Tank, Forum1: 732, Forum2: 1, Forum3: 214
Spanky, Forum1: 635, Forum2: 90, Forum3: 453

Dismounted 02-04-2009 05:02 AM

There is no "easy" query for that. You would have to select every post, and join the thread table to get the forum ID. Then loop through the results and increment the count of each user (this would be server intensive). However, doing this for just one user is much easier on the server, just limit the select to one user only.

romputer 02-06-2009 02:59 PM

okay, thanks.

I know I need a query but can't figure out how to write it. Anyone have an idea?

I want to have a more detailed post number listed for each member instead of just "posts". I have ten boards on the forum and would like to show how many posts each member has in each board.

Dismounted 02-07-2009 03:47 AM

If you are planning to do that in postbits, it will be fairly server intensive.
Quote:

Originally Posted by romputer (Post 1736187)
I know I need a query but can't figure out how to write it. Anyone have an idea?

Do you know how to use joins in MySQL?

romputer 02-07-2009 04:17 AM

Quote:

Originally Posted by Dismounted (Post 1736752)
If you are planning to do that in postbits, it will be fairly server intensive.
Do you know how to use joins in MySQL?

I was hoping someone who is well versed in the db could just type out the query here. Yes, I know joins and such but I don't know the db that well.

Maybe have the output in the profile. Gives another member an idea where the person posts the most.

Dismounted 02-07-2009 04:52 AM

[sql]SELECT t.forumid
FROM post AS p
LEFT JOIN thread AS t USING (threadid)
WHERE p.postuserid = X[/sql]
PHP Code:

while ($post $vbulletin->db->fetch_array($result))
{
    ++
$posts["$post[forumid]"];


Did you actually look in the post/thread tables to see the relations?

romputer 02-07-2009 06:48 AM

Quote:

Originally Posted by Dismounted (Post 1736783)
[sql]SELECT t.forumid
FROM post AS p
LEFT JOIN thread AS t USING (threadid)
WHERE p.postuserid = X[/sql]
PHP Code:

while ($post $vbulletin->db->fetch_array($result))
{
    ++
$posts["$post[forumid]"];


Did you actually look in the post/thread tables to see the relations?

Not as much as I could have. What is postuserid? Thanks.

Dismounted 02-07-2009 10:47 AM

Quote:

Originally Posted by romputer (Post 1736814)
What is postuserid?

The creator of the post... postuserid

romputer 02-19-2009 01:55 AM

Quote:

Originally Posted by Dismounted (Post 1736911)
The creator of the post... postuserid

SELECT t.forumid
FROM post AS p
LEFT JOIN thread AS t
USING ( threadid )
WHERE p.postuserid =803

MySQL said:

#1054 - Unknown column 'p.postuserid' in 'where clause'

:confused:

--------------- Added [DATE]1235016809[/DATE] at [TIME]1235016809[/TIME] ---------------

Okay, I am really lost. How about if I have one forumid and one userid, how can I get the number of posts that user made in that forum? Thanks in advance.

Dismounted 02-19-2009 04:12 AM

I think I made a mistake, postuserid is for threads. Here is the "proper" query:
[sql]SELECT COUNT(p.postid) AS count
FROM post AS p
LEFT JOIN thread AS t USING (threadid)
WHERE p.userid = 803
AND t.forumid = X[/sql]

romputer 02-19-2009 04:46 AM

Gracias!


All times are GMT. The time now is 03:24 AM.

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.01151 seconds
  • Memory Usage 1,753KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (2)bbcode_php_printable
  • (6)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (18)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.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/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete