Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 General Discussions
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #1  
Old 06-18-2004, 07:20 PM
Ryuujin Ryuujin is offline
 
Join Date: Sep 2003
Posts: 15
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Thread Views - Error?

Well, in my forum where it show the "thread views" it only shows 1 more than the number of replys...

See for your self:
http://animeomega.com/foro/forumdisplay.php?f=2

For example:
Views: 10
Replys: 9

Here's the PHP CODE for my threadviews.php

PHP Code:
error_reporting(E_ALL & ~E_NOTICE);

if (!
is_object($DB_site))
{
    exit;
}

$threads $DB_site->query("SELECT threadid , COUNT(*) AS views FROM " TABLE_PREFIX "threadviews GROUP BY threadid");

while (
$thread $DB_site->fetch_array($threads))
{
    
$DB_site->query(
        
"UPDATE " TABLE_PREFIX "thread
        SET views = views + " 
intval($thread['views']) . "
        WHERE threadid = " 
intval($thread['threadid'])
    );
}

$threads $DB_site->query("SELECT distinct threadviews.threadid,+++++adid,+++++adname,+++++ad FROM ".TABLE_PREFIX."threadviews AS threadviews INNER JOIN ".TABLE_PREFIX."thread AS thread ON threadviews.threadid=thread.threadid ORDER BY threadid");

$threadidcache 0;
while (
$thread $DB_site->fetch_array($threads))
{
    
// either is the first row or a new set of threadid's is coming
    
if ($threadidcache != $thread['threadid'])
        {
            if (
$threadidcache)
                {
            
asort($+++++adarray);
                    
$DB_site->query("UPDATE ".TABLE_PREFIX."thread SET +++++ad='".addslashes(serialize($+++++adarray))."' WHERE threadid='".$threadidcache."'");
                }
        $+++++
adarray unserialize($thread['+++++ad']);                
        }

        if (
$thread['+++++adid'])
        {
        $+++++
adarray[$thread['+++++adid']] = $thread['+++++adname'];
        }
        
$threadidcache $thread['threadid'];                
}

// get the last one that the loop couldn't get
if (!empty($+++++adarray))
{
    
$DB_site->query("UPDATE ".TABLE_PREFIX."thread SET +++++ad='".addslashes(serialize($+++++adarray))."' WHERE threadid='".$threadidcache."'");
}

log_cron_action('Thread Views Updated'$nextitem);

$DB_site->query("DELETE FROM " TABLE_PREFIX "threadviews"); 
Well if anyone can help =(
THANKS =)
Reply With Quote
  #2  
Old 06-18-2004, 09:48 PM
Zachery's Avatar
Zachery Zachery is offline
 
Join Date: Jul 2002
Location: Ontario, Canada
Posts: 11,440
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Ryuujin
Well, in my forum where it show the "thread views" it only shows 1 more than the number of replys...

See for your self:
http://animeomega.com/foro/forumdisplay.php?f=2

For example:
Views: 10
Replys: 9

Here's the PHP CODE for my threadviews.php

PHP Code:
error_reporting(E_ALL & ~E_NOTICE);

if (!
is_object($DB_site))
{
    exit;
}

$threads $DB_site->query("SELECT threadid , COUNT(*) AS views FROM " TABLE_PREFIX "threadviews GROUP BY threadid");

while (
$thread $DB_site->fetch_array($threads))
{
    
$DB_site->query(
        
"UPDATE " TABLE_PREFIX "thread
        SET views = views + " 
intval($thread['views']) . "
        WHERE threadid = " 
intval($thread['threadid'])
    );
}

$threads $DB_site->query("SELECT distinct threadviews.threadid,+++++adid,+++++adname,+++++ad FROM ".TABLE_PREFIX."threadviews AS threadviews INNER JOIN ".TABLE_PREFIX."thread AS thread ON threadviews.threadid=thread.threadid ORDER BY threadid");

$threadidcache 0;
while (
$thread $DB_site->fetch_array($threads))
{
    
// either is the first row or a new set of threadid's is coming
    
if ($threadidcache != $thread['threadid'])
        {
            if (
$threadidcache)
                {
            
asort($+++++adarray);
                    
$DB_site->query("UPDATE ".TABLE_PREFIX."thread SET +++++ad='".addslashes(serialize($+++++adarray))."' WHERE threadid='".$threadidcache."'");
                }
        $+++++
adarray unserialize($thread['+++++ad']);                
        }

        if (
$thread['+++++adid'])
        {
        $+++++
adarray[$thread['+++++adid']] = $thread['+++++adname'];
        }
        
$threadidcache $thread['threadid'];                
}

// get the last one that the loop couldn't get
if (!empty($+++++adarray))
{
    
$DB_site->query("UPDATE ".TABLE_PREFIX."thread SET +++++ad='".addslashes(serialize($+++++adarray))."' WHERE threadid='".$threadidcache."'");
}

log_cron_action('Thread Views Updated'$nextitem);

$DB_site->query("DELETE FROM " TABLE_PREFIX "threadviews"); 
Well if anyone can help =(
THANKS =)
Disable instant updating of the threadviews, its not really nessary
Reply With Quote
  #3  
Old 06-19-2004, 11:50 AM
Dean C's Avatar
Dean C Dean C is offline
 
Join Date: Jan 2002
Location: England
Posts: 9,071
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

What's all that censored stuff in your code :s
Reply With Quote
Reply


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 03:36 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.03768 seconds
  • Memory Usage 2,231KB
  • 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
  • (2)bbcode_php
  • (1)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (3)post_thanks_box
  • (3)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (3)post_thanks_postbit_info
  • (3)postbit
  • (3)postbit_onlinestatus
  • (3)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