
11-09-2008, 03:57 PM
|
 |
|
|
Join Date: Nov 2001
Location: inside vb code
Posts: 4,449
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
|
Quote:
Originally Posted by sparklywater
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.
|