this should get you in the right direction:
NOTE: change the QUERY as I changed it to do a test
PHP Code:
$vbulletin->input->clean_gpc('r', 'page', TYPE_UINT);
$page = (empty($vbulletin->GPC['page'])) ? 1 : $vbulletin->GPC['page'];
// Define the number of results per page.
$max_results = 10;
// Figure out the total number of results in DB.
$total_results = $vbulletin->db->query_first("SELECT COUNT(*) AS threads FROM " . TABLE_PREFIX . "thread");
echo 'Total Rows To Display: '. $total_results['threads']. '<br /><br />';
// *********************************************************************************
// initialise some stuff...
$from = ($page - 1) * $max_results;
$query = $vbulletin->db->query_read("
SELECT threadid, title, dateline
FROM " . TABLE_PREFIX . "thread AS thread
ORDER BY dateline ASC
LIMIT $from, $max_results");
if ($total_results['threads'] !=0)
{
$count=1;
while($row = $vbulletin->db->fetch_array($query))
{
echo '<div>'. $count .')__ '. $row['title'] . ' (ID: '. $row['threadid'] .')</div>';
$count++;
}
// Figure out the total number of pages.
$total_pages = ceil($total_results['threads']/$max_results);
echo "<div align=\"right\">Page $page of $total_pages: ";
// Build Previous Link.
$first = 1;
if ($page != 1)
{
$prev = ($page - 1);
echo "[ <a href=\"".$_SERVER['PHP_SELF']."?page=$first\">First</a> ] ";
echo "<a href=\"".$_SERVER['PHP_SELF']."?page=$prev\" style=\"font-size:10px\"><<</a> ";
}
for ($i = 1; $i <= $total_pages; $i++)
{
if ($page == $i)
{
echo "<strong>$i</strong> ";
}
else
{
echo "<a href=\"".$_SERVER['PHP_SELF']."?page=$i\">$i</a> ";
}
}
// Build Next Link.
if ($page < $total_pages)
{
$next = ($page + 1);
echo "<a href=\"".$_SERVER['PHP_SELF']."?page=$next\" style=\"font-size:10px\">>></a> ";
echo "[ <a href=\"".$_SERVER['PHP_SELF']."?page=$total_results[threads]\">Last</a> ]</div>";
}
}