Just wanted to say thank you for this article on pagination, I was finally able to understand it thanks to your post. Here is my example for those who are still trying to understand maybe this helps.
PHP Code:
<?php
require_once('./global.php');
$vbulletin->input->clean_array_gpc('r', array(
'perpage' => TYPE_UINT,
'pagenumber' => TYPE_UINT,
));
$cel_users = $db->query_first("
SELECT COUNT('edition') AS users_count
FROM oftw_hall_of_fame
");
sanitize_pageresults($cel_users['users_count'], $pagenumber, $perpage, 50, 5);
if ($vbulletin->GPC['pagenumber'] < 1)
{
$vbulletin->GPC['pagenumber'] = 1;
}
else if ($vbulletin->GPC['pagenumber'] > ceil(($cel_users['users_count'] + 1) / $perpage))
{
$vbulletin->GPC['pagenumber'] = ceil(($cel_users['users_count'] + 1) / $perpage);
}
$limitlower = ($vbulletin->GPC['pagenumber'] - 1) * $perpage;
$limitupper = ($vbulletin->GPC['pagenumber']) * $perpage;
$pagenav = construct_page_nav(
$vbulletin->GPC['pagenumber'],
$perpage,
$cel_users['users_count'],
'oftw_hall_of_fame.php?' . $vbulletin->session->vars['sessionurl'], // the pagenav-link
'', // to pass a second portion or the pagenav-link, gets directly appended to above
'', // to pass an anchor
'', // SEO-Link for thread, forum, member... pages - make the pagenav-links seo'ed if you use the paginator on one of those
'', // Array to pass linkinfo for SEO-Link-Method
'' // Array to pass additional Info for SEO-Link-Method
);
$result = $db->query_read("SELECT * FROM oftw_hall_of_fame LIMIT $limitlower, $perpage");
if (mysql_num_rows($result) > 0) {
// yes
// print them one after another
echo "<center><table>";
while($row = mysql_fetch_row($result)) {
echo "<tr>";
echo "<td><center><u style=color:#417394;font-size:20px;><b style=color:#417394;>Signature Of The Week Edition # ".$row[7]." </b></u></center>";
echo "<center>Won With ".$row[2]." Votes</center>";
echo "<center>Nominated By: <b style=color:#3B81B7;><a href=http://development.aniworlds.net/member.php?".$row[6]."-".$row[4].">".$row[4]." </a></b></center>";
echo "<center>Added: ".date("F j, Y g:i a", strtotime($row[3]))."</center>";
echo "<center>Created By: ".$row[5]."</center></td>";
echo "<td><center><img src =".$row[1]." style=padding-bottom:5px></center></td>";
echo "</tr>";
}
echo "</table></center>";
}
else {
// no
// print status message
echo "No Contests Have Been Started.";
}
?>
This php file was then included as a variable (vb:raw) into a template of my choosing (pagination included!).