View Single Post
  #260  
Old 11-09-2008, 03:57 PM
Logician's Avatar
Logician Logician is offline
 
Join Date: Nov 2001
Location: inside vb code
Posts: 4,449
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by sparklywater View Post
I'm using the '$WQ_testpagination' query to fetch a list of all the posts on my forum, see here http://www.sparklywater.com/posts.html. I have set the 'rows per page' setting to 30 in the 'PHP include' section of the webtemplate, like this:

Code:
$vbulletin->input->clean_array_gpc('r', array(
        'pagenumber'      => TYPE_INT,
        'perpage'          => TYPE_INT,
    ));
 
    $pagenumber = $vbulletin->GPC['pagenumber'];
    $perpage = $vbulletin->GPC['perpage'];
 
    // ----------------------------------------------
    // Pagination
    // ----------------------------------------------
    //total actions records
    $totalrecordsC = $db->query_first("
SELECT COUNT(*) AS record FROM 
" . TABLE_PREFIX . "thread AS thread
INNER JOIN " . TABLE_PREFIX . "post AS post on (post.postid = thread.lastpostid)
INNER JOIN " . TABLE_PREFIX . "forum AS forum on (thread.forumid = forum.forumid)
");
    $totalrecords = intval($totalrecordsC['record']);
 
    // set defaults for pagination
    if ($perpage == 0 or $perpage > 1000) {$perpage = 30;}
    if (!isset($pagenumber) or $pagenumber == 0) {$pagenumber = 1;}
    $limitlower = ($pagenumber - 1) * $perpage + 1;
    $limitupper = $limitupper = ($pagenumber) * $perpage;
    if ($limitupper > $totalrecords) 
    {
    $limitupper = $totalrecords;  
            if ($limitlower > $totalrecords) {$limitlower = $totalrecords - $perpage;}
    }
    if ($limitlower <= 0) {$limitlower = 1;}
    $sel_limitlower = $limitlower;
                $sel_limitlowerminus1 = $sel_limitlower -1;
 
$pagenav = construct_page_nav($pagenumber, $perpage, $totalrecords, "$WT_Option_NameOFviewphp?$session[sessionurl]pg=$pg&perpage=$perpage");
 
    // -- /Pagination}


On the third page of my results, there are currently 25 rows / posts listed, so this should be the last page in the results (ie. no fourth page). However, in the pagenav at the bottom-right hand side, the 4th page number is listed and when clicking on page 4, the table simply states "No threads to List" (ie. the 'No Results Row' value). This 4th page is unnecessary because the final rows of results already ended on page 3.

Is there any way to fix this?
Make sure you use the same query in your webquery and also in the section :

Quote:
$totalrecordsC = $db->query_first("
SELECT COUNT(*) AS record FROM
" . TABLE_PREFIX . "thread AS thread
INNER JOIN " . TABLE_PREFIX . "post AS post on (post.postid = thread.lastpostid)
INNER JOIN " . TABLE_PREFIX . "forum AS forum on (thread.forumid = forum.forumid)
");
You can be using different queries which causes the problem.
Reply With Quote
 
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01308 seconds
  • Memory Usage 1,771KB
  • Queries Executed 11 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD_SHOWPOST
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)bbcode_code
  • (2)bbcode_quote
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_box
  • (1)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit_info
  • (1)postbit
  • (1)postbit_onlinestatus
  • (1)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • reputationlevel
  • showthread
Included Files:
  • ./showpost.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
  • showpost_start
  • bbcode_fetch_tags
  • bbcode_create
  • postbit_factory
  • showpost_post
  • 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
  • showpost_complete