I'm trying to query the vbulletin database on a custom table, and paginate the results. From the code I have, for some reason it only returns 40 total results. I'm having trouble with the $total_results part, can anyone help me out?
Thanks.
PHP Code:
<?php
// If current page number, use it, if not, set one.
if(!isset($_GET['page'])){
$page = 1;
} else {
$page = $_GET['page'];
}
// Define the number of results per page.
$max_results = 10;
$from = (($page * $max_results) - $max_results);
$query = $vbulletin->db->query_read("SELECT test1.test_name,
test1.test_ID, test2.test_name, test2.test_ID
WHERE test1.test_ID =
test2.test_ID ORDER BY test1.test_name ASC LIMIT
$from, $max_results");
// Figure out the total number of results in DB.
$total_results = $vbulletin->db->query_read("SELECT COUNT(*)
FROM test1,
test2");
if ($total_results !=0) {
while($row_test = $vbulletin->db->fetch_array($test1))
{
echo $row_test['test1_name'];
}
// Figure out the total number of pages.
$total_pages = ceil($total_results/$max_results);
// Page of page.
echo "<div align=right>";
echo "Page $page of $total_pages";
// Build Previous Link.
$first = 1;
if ($page != 1) {
$prev = ($page - 1);
echo "<a href=\"".$_SERVER['PHP_SELF']."?page=$prev\"><<
</a> ";
echo "[ <a href=\"".$_SERVER['PHP_SELF']."?page=$first\">
First</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\">>>
</a> ";
echo "[ <a href=\"".$_SERVER['PHP_SELF']."?page=$total_pages\">
Last
</a> ] ";
echo "</div>";
} else {
echo 'Sorry.';
}
}
?>