vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   Modification Requests/Questions (Unpaid) (https://vborg.vbsupport.ru/forumdisplay.php?f=112)
-   -   has this been done? - percentage of posts in what forum/board (https://vborg.vbsupport.ru/showthread.php?t=58591)

mfacer 11-14-2003 06:55 AM

has this been done? - percentage of posts in what forum/board
 
I was just wondering if this has already been done, since I have searched and couldnt find what I wanted, it looks like I'm gonna have to do it myself!

I want to be able to produce a chart on the users profile where you can see their percentage of posts in each forum. This is mainly because some members have a very high post count and they claim not to have spammed much.... when we can clearly see that their posts are mainly in the "SPAM" forum!!

I just wanna be able to produce a graph, probably using GD....

so, does anyone know of a hack thats already been done for this? or should I carry on writing it?

thanks! :)

Zachery 11-14-2003 07:08 AM

Quote:

Originally Posted by mfacer
I was just wondering if this has already been done, since I have searched and couldnt find what I wanted, it looks like I'm gonna have to do it myself!

I want to be able to produce a chart on the users profile where you can see their percentage of posts in each forum. This is mainly because some members have a very high post count and they claim not to have spammed much.... when we can clearly see that their posts are mainly in the "SPAM" forum!!

I just wanna be able to produce a graph, probably using GD....

so, does anyone know of a hack thats already been done for this? or should I carry on writing it?

thanks! :)

this might be abit server intensive >.> esp if not done right

mfacer 11-14-2003 07:12 AM

hmm... good thinkin.... the server is already over loaded!!

I might just do something like

forum 1 = 34.3% of posts
forum 2 = 37.1% of posts

just a basic output of the raw stats.... i've added a mod on their forum so that it shows their percentage of over all posts to the total, but i think this hack would be quite good?

Zachery 11-14-2003 07:13 AM

Quote:

Originally Posted by mfacer
hmm... good thinkin.... the server is already over loaded!!

I might just do something like

forum 1 = 34.3% of posts
forum 2 = 37.1% of posts

just a basic output of the raw stats.... i've added a mod on their forum so that it shows their percentage of over all posts to the total, but i think this hack would be quite good?

you could cache the stats daily which would make it much lighter on the server

mfacer 11-14-2003 09:02 AM

hmm...could do!
I've had a quick go... its nothing fancy, and its a seperate page from VB... once I know its working, I will integrate it! :)

PHP Code:

$forum_threads 0;
$count 0;

echo 
"<table cellspacing='0' cellpadding='4' border='0'>\n";
echo 
"<tr><td width='180'><strong>Title</strong></td><td><strong>Your Posts</strong></td><td><strong>Total Replies</strong></td><td><strong>Percentage</strong></td></tr>";

$sqla "select forumid,title,replycount from forum where allowposting = 1 and forumid != 25 and forumid != 28 order by forumid ASC";
$resulta mysql_query($sqla) or die(mysql_error());

while (
$rowa mysql_fetch_array($resulta))
{
    
    
$sqlb "select threadid,forumid from thread where forumid = " $rowa['forumid'] . ";";
    
$resultb mysql_query($sqlb) or die (mysql_error());
    
    while (
$rowb mysql_fetch_array($resultb))
    {
    
        
//now count the posts in this thread for the user
        
$sqlc "select threadid,userid From post where userid = " $_GET['userid'] . " AND threadid = " $rowb['threadid'] . ";";
        
$resultc mysql_query($sqlc) or die (mysql_error());
        
        
$forum_threads $forum_threads mysql_num_rows($resultc);
        
    }
    
    
//now we need to add the number of posts from this thread to the number of posts from the
    //other threads in this forum

    //now work out the percentage
    
if ($forum_threads != 0)
    {
        
$percent = (($forum_threads $rowa['replycount']) * 100);
    }
    else
    {
        
$percent "0";
    }
    
    echo 
"<tr><td>" $rowa['title'] . "</td><td>" $forum_threads "</td><td>" $rowa['replycount'] . "</td><td>" number_format($percent1'.''') . "%</td></tr>";
    
    
$forum_threads 0//reset it.
    
}

echo 
"</table>"

that produces the following

http://www.yu-gi-oh-online.co.uk/for...s.php?userid=1

anyone got an suggestions how to neaten the code or anything? I tried to do an inner join, but it didnt work!! LOL!!!

Lesane 11-14-2003 09:53 AM

Here, with one query:

PHP Code:

<?

include('global.php');
$forum_threads = 0; 
$count = 0; 

echo "<table cellspacing='0' cellpadding='4' border='0'>\n"; 
echo "<tr><td width='180'><strong>Title</strong></td><td><strong>Your Posts</strong></td><td><strong>Total Replies</strong></td><td><strong>Percentage</strong></td></tr>"; 

$sqla = "select 
forum.forumid
,forum.title
,forum.replycount 
,thread.threadid
,post.threadid
, count(post.threadid) as totnu
from forum 
left join thread ON forum.forumid=thread.forumid
left join post ON thread.threadid=post.threadid
where forum.allowposting = 1 and forum.forumid != 25 and forum.forumid != 28 
AND userid=" . $_GET['userid'] . "
group by post.threadid
order by forum.forumid ASC"; 
$resulta = mysql_query($sqla) or die(mysql_error()); 

while ($rowa = mysql_fetch_array($resulta)) 


$forum_threads=$rowa['totnu'];
    //now we need to add the number of posts from this thread to the number of posts from the 
    //other threads in this forum 

    //now work out the percentage 
    if ($forum_threads != 0) 
    { 
        $percent = (($forum_threads / $rowa['replycount']) * 100); 
    } 
    else 
    { 
        $percent = "0"; 
    } 
     
    echo "<tr><td>" . $rowa['title'] . "</td><td>" . $forum_threads . "</td><td>" . $rowa['replycount'] . "</td><td>" . number_format($percent, 1, '.', '') . "%</td></tr>"; 
     
    $forum_threads = 0; //reset it. 
     


echo "</table>"; 
?>


mfacer 11-14-2003 12:38 PM

hmm...that seems to produce only one forum...

http://www.yu-gi-oh-online.co.uk/for...3.php?userid=1

also, I am thinking of making some bar chart style things.... not sure if I need them or what.. but they dont seem to work... any ideas?

http://www.yu-gi-oh-online.co.uk/for...2.php?userid=1

Lesane 11-14-2003 02:56 PM

take the 'user' query out of it and loop that

SBlueman 08-22-2007 10:16 PM

Does anyone know how to make this work?


All times are GMT. The time now is 01:46 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.01278 seconds
  • Memory Usage 1,758KB
  • 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
  • (2)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (9)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