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

Reply
 
Thread Tools Display Modes
  #1  
Old 01-24-2004, 03:21 AM
dontpanic dontpanic is offline
 
Join Date: Jun 2003
Posts: 145
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default What is missing here?

I made the query, template and page code using existing, working elements in use elsewhere. My questions are these:

1. Why does this return only one result, when it should obviously return 10?

2. Why does it not return the correct results...the top article has over 6000 views.

The page in question (and there are two sets of this problem on it) is: http://www.mcseworld.com/forums/library.php

The query, template and page code were revised from that which drives this page: http://www.mcseworld.com/forums/lastthreads.php where they work quite nicely.

The SQL query:
Code:
// Get Popular Articles

    $populararticle = $DB_site->query("SELECT * FROM thread WHERE forumid IN (252,253,254,255,256,257,258,259,260,261,262,263,264) ORDER BY views DESC LIMIT 10");

		while ($populararticles = $DB_site->fetch_array($populararticle))
		{

	eval('$library_populararticles = "' . fetch_template('library_populararticles') . '";');
		}

// Get Popular Articles
The forumid numbers listed are the forums that house my Library articles...and of course, I would like 10 rows returned by the query from most popular (most view) down.

The template:
PHP Code:
<table border="0" cellpadding="2" width="100%" style="border-collapse: collapse" bordercolor="#111111">

  
      <
tr><span class="smallfont">
        <
td class="alt1Active" width="60%" align="left" valign="top"><span class="smallfont"><a href="showthread.php?$session[sessionurl]goto=lastpost&t=$populararticles[threadid]">$populararticles[title]</td>
        <
td class="alt1Active" width="20%" align="left" valign="top"><span class="smallfont"><a href="member.php?$session[sessionurl]find=lastposter&t=$populararticles[threadid]">$populararticles[lastposter]</a></b></td>
        <
td class="alt1Active" width="20%" align="left" valign="top"><span class="smallfont">$populararticles[views]</b></td>
        </
span>
    </
tr>
  
  
</
table
The actual code on the page:
PHP Code:
<!-- popular articles -->
<
table class="tborder" cellpadding="$stylevar[cellpadding]cellspacing="$stylevar[cellspacing]border="0" width="100%" align="center">

<
tbody>
    <
tr>
        <
td class="thead" colspan="3">
            <
a style="float:$stylevar[right]href="#top" onclick="return toggle_collapse('forumhome_articles)"><img id="collapseimg_forumhome_articles" src="$stylevar[imgdir_button]/collapse_thead$vbcollapse[collapseimg_forumhome_articles].gif" alt="" border="0" /></a
            
Most Popular Articles Posted in the Library
        
</td>
    </
tr>
</
tbody>
<
tbody id="collapseobj_forumhome_articles" style="$vbcollapse[collapseobj_forumhome_articles]">
    <
tr><span class="smallfont">
        <
td class="alt1Active" width="60%" align="left" valign="top"><span class="smallfont"><b>Article</b></td>
        <
td class="alt1Active" width="20%" align="left" valign="top"><b>Author</b></td>
        <
td class="alt1Active" width="20%" align="left" valign="top"><b>Views</b></td>
        </
span>
    </
tr>
        <
tr>
        <
td class="alt1Active" colspan="3">$library_populararticles</td>
    </
tr>
</
tbody>
</
table>
<!-- 
popular articles --> 
Thanks in advance to anyone who can help me figure this one out.
Reply With Quote
  #2  
Old 01-24-2004, 07:55 AM
assassingod's Avatar
assassingod assassingod is offline
 
Join Date: Jul 2002
Posts: 3,337
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Try:
PHP Code:
// Get Popular Articles
 
$populararticle $DB_site->query("
  SELECT * 
  FROM thread 
  WHERE forumid IN (252,253,254,255,256,257,258,259,260,261,262,263,264) 
  ORDER BY views DESC 
  LIMIT 10
 "
);
 while (
$populararticles $DB_site->fetch_array($populararticle))
 {
  eval(
'$library_populararticles .= "' fetch_template('library_populararticles') . '";');
 }
// Get Popular Articles 
If the views still aren't right, try changing ORDER BY views DESC to ORDER BY views ASC
Reply With Quote
  #3  
Old 01-24-2004, 11:04 AM
dontpanic dontpanic is offline
 
Join Date: Jun 2003
Posts: 145
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Great, that was it...I guess it was just too sloppy for its own good.

Now, I have another question...I cannot seem to extract the date/time properly.

Here is my query:
Code:
// Get Recent Articles
$lastarticle = $DB_site->query("
  SELECT * 
  FROM thread 
  WHERE forumid IN (252,253,254,255,256,257,258,259,260,261,262,263,264) 
  ORDER BY dateline DESC 
  LIMIT 10
");
while ($lastarticles = $DB_site->fetch_array($lastarticle))
{
  eval('$library_lastarticle .= "' . fetch_template('library_lastarticle') . '";');
}
$lastarticlesdate = vbdate($vboptions['dateformat'], $lastarticles['dateline']);
$lastarticlestime = vbdate($vboptions['timeformat'], $lastarticles['dateline']);
// Get Recent Articles
And here is the template it feeds into:
PHP Code:
<table border="0" width="100%" bordercolor="#111111">
    <
tr>
        <
td class="alt1Active" width="70%" align="left"><span class="smallfont"><a href="showthread.php?$session[sessionurl]goto=lastpost&t=$lastarticles[threadid]">$lastarticles[title]</a></span></td>
        <
td class="alt1Active" width="20%" align="left"><span class="smallfont"><a href="member.php?$session[sessionurl]find=lastposter&t=$lastarticles[threadid]">$lastarticles[lastposter]</a></span></td>
        <
td class="alt1Active" width="10%" align="left"><span class="smallfont">$lastarticlesdate</span></td>
    </
tr>   
</
table
Any ideas on where I screwed up extracting the date information? I'm not using the time information yet, but may want to soon.

Thanks again for your help!
Reply With Quote
  #4  
Old 01-24-2004, 04:46 PM
g-force2k2 g-force2k2 is offline
 
Join Date: Mar 2002
Location: Everywhere you wanna be..
Posts: 1,608
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

dontpanic,

Instead of:

PHP Code:
while ($lastarticles $DB_site->fetch_array($lastarticle))
{
  eval(
'$library_lastarticle .= "' fetch_template('library_lastarticle') . '";');
}
$lastarticlesdate vbdate($vboptions['dateformat'], $lastarticles['dateline']);
$lastarticlestime vbdate($vboptions['timeformat'], $lastarticles['dateline']); 
It should be:

PHP Code:
while ($lastarticles $DB_site->fetch_array($lastarticle))
{
  
$lastarticlesdate vbdate($vboptions['dateformat'], $lastarticles['dateline']);
  
$lastarticlestime vbdate($vboptions['timeformat'], $lastarticles['dateline']);
  eval(
'$library_lastarticle .= "' fetch_template('library_lastarticle') . '";');

Because you want the extract the date and time of each article so you must perform it during the while loop and also you have to place the code before the eval so that the lastarticlsesdate and time variables are included in the template.

Cheers,
g-force2k2
Reply With Quote
  #5  
Old 01-24-2004, 11:44 PM
dontpanic dontpanic is offline
 
Join Date: Jun 2003
Posts: 145
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Oh duh, thanks! Working perfectly now.
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 10:06 AM.


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.03982 seconds
  • Memory Usage 2,254KB
  • Queries Executed 11 (?)
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_code
  • (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_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