PDA

View Full Version : Number of threads and posts posted?


SmasherMaster
04-26-2004, 12:41 AM
Is it possible to display in the postbit the number of threads the user has posted?

Boofo
04-26-2004, 01:49 AM
Not without hacking. I released a hack like this on my site a while back.

Sketch
04-26-2004, 10:28 AM
Not difficult but adds a query. Probably could eliminate the extra query but I don't feel like putting the thought process into it. Go ahead and package this up as a hack and claim it as your own. ;)

In showthread.php

//FIND// get first and last post ids for this page (for big reply buttons)
//ABOVE THAT ADD$countthreadsq = $DB_site->query("SELECT COUNT(DISTINCT(threadid)) AS threadcount FROM post WHERE userid=".$bbuserinfo['userid']);
$countthreads = $DB_site->fetch_array($countthreadsq);
$post['threadcount'] = $countthreads['threadcount'];

Refer to it in your postbit as $post[threadcount]

Aaron

Boofo
04-26-2004, 10:40 AM
Isn't that inside the loop? If so, that will add a query for every post on the page. And if you use bbuserinfo, it will show the same amount for each post, won't it?

EDIT: I just checked this. It does add a query for each post on the page. ;)

Sketch
04-26-2004, 11:02 AM
It would have to unless you find a way to just find the userids in the thread/on the page and then cycle through a bunch of checks for each post. It almost sounds more server intensive to do it that way. But I could be wrong. It is only 7 AM after all. ;)

I would think that you are right about the loop though. You'd need to put the block of code in the loop...

PS. I guess use $post['userid'] instead of bbuserinfo. That would be an obvious overlook on my part.

Boofo
04-26-2004, 11:30 AM
No, you don't want the code inside the loop. That's where you get a query for every post on the page. We tried doing it your way when we did the hack and it came out with a query for every post. We have to go a totally different way to avoid that. And it isn't server intensive at all. It took some doing, but was accomplished. ;)

Sketch
04-26-2004, 11:58 AM
Ah good to know. Let me know if you determine a way to do it in vb3.

I like your /bin/laden sig too, by the way. :) I have a tee shirt from ThinkGeek that says rm -rf /bin/laden. ;)

NTLDR
04-26-2004, 12:41 PM
The best way is to edit newthread.php to increment a profile field by one each time a new thread if submited, along with an option in the Update Counters section to rebuild (and create) the number of threads each person has done.

SmasherMaster
04-26-2004, 01:00 PM
The best way is to edit newthread.php to increment a profile field by one each time a new thread if submited, along with an option in the Update Counters section to rebuild (and create) the number of threads each person has done.
I don't know PHP code AT ALL, so if you could tell me where to look or help me out that would be good.

Sketch: Nah i'm not gonna put up a mod of which code you gave me. ;) I'll try that code out later and see if it works. 1 extra query isn't gonna hurt anything I think.

Boofo
04-26-2004, 07:36 PM
I don't know PHP code AT ALL, so if you could tell me where to look or help me out that would be good.

Sketch: Nah i'm not gonna put up a mod of which code you gave me. ;) I'll try that code out later and see if it works. 1 extra query isn't gonna hurt anything I think.

That's 1 extra quert per post with that code. Give me 5 minutes and I will upload the hack I made for this. ;)

Boofo
04-26-2004, 07:46 PM
I don't know PHP code AT ALL, so if you could tell me where to look or help me out that would be good.

Sketch: Nah i'm not gonna put up a mod of which code you gave me. ;) I'll try that code out later and see if it works. 1 extra query isn't gonna hurt anything I think.

Here you go. The link to the hack for this. And this adds only 1 query per page, not post. ;)

https://vborg.vbsupport.ru/showthread.php?t=64414

Boofo
04-26-2004, 07:52 PM
The best way is to edit newthread.php to increment a profile field by one each time a new thread if submited, along with an option in the Update Counters section to rebuild (and create) the number of threads each person has done.

But would you have to do this manually that way?

NTLDR
04-26-2004, 08:43 PM
But would you have to do this manually that way?

You'd need to do it manually at the start to setup the 'inital' count and then if you want to keep it acurate for when threads are deleted etc run it but the count would be automatically updated each time a new thread is made (and deleted if you did code for that).