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?