Pagination won't carry results past page 2.

Posted on 16th Feb 2014 by admin

Hi all,

I've worked out my pagination script and its paginating fine until I click next from page 2 at which point it stops displaying results. I know its something really simple, but can't see what lol.

Here is my code, anyone able to help?

Code: $connection = mysql_connect($hostname, $username, $password);
#
if (!$connection) {
#
die("A connection to the server could not be established");
#
}
#
/*Select Database */
#
mysql_select_db($database) or die("Database could not be selected!");
#

#
/*set variables*/
#
if (isset($_GET['MerchantType']) && isset($_GET['County'])){
#
$MerchantType = $_GET["MerchantType"];
#
$County = $_GET["County"];
#
echo $County . " " . $MerchantType;
#
}
#

#
/* Set current, prev and next page */
#
$page = (!isset($_GET['page']))? 1 : $_GET['page'];
#
$next = $page + 1;
#
$prev = $page - 1;
#

#
/* Max results per page */
#
$max_results = 5;
#

#
if (!$connection) {
#
die("A connection to the server could not be established");
#
}
#
/* Select Database */
#
mysql_select_db($database) or die("Database could not be selected!");
#

#

#
/* Figre out how many items there are in your DB */
#
$q = "SELECT * FROM $tablename WHERE County = '$County' AND MerchantType = '$MerchantType'";
#
$result = mysql_query($q) or die(mysql_error());
#
$total_results_pages = mysql_num_rows($result);
#

#
/* Must know where to begin grabbing the results from the DB */
#
$limitvalue = $page * $max_results - ($max_results);
#

#
// query
#
$q = "SELECT * FROM $tablename WHERE County = '$County' AND MerchantType = '$MerchantType' LIMIT $limitvalue, $max_results";
#
$result = mysql_query($q) or die(mysql_error());
#
$total_results = mysql_num_rows($result);
#

#
$total_pages = ceil($total_results_pages / $max_results);
#

#

#

#
echo '$total_results_pages = '.$total_results_pages;
#
echo '
';
#
echo '$total_results = '.$total_results;
#
echo '
';
#
echo '$max_results = '.$max_results;
#
echo '
';
#
echo '$total_pages = '.$total_pages;
#
echo '
';
#
echo '$page = '.$page;
#
echo '
';
#
echo '$next = '.$next;
#
echo '
';
#
echo '$prev = '.$prev;
#
echo '
';
#
echo '$limitvalue = '.$limitvalue;
#
echo '<hr>';
#

#

#
while ($row_details = mysql_fetch_array($result))
#
{
#
echo '
<table class="results" border="1" bordercolor="#1d9346">
<style="background-color:#FFFFFF" width="800" cellpadding="3" cellspacing="3">
<tr>
<td width="200" align="left" rowspan="7"><img src = "images/Test.png" /></td>
</tr>
<tr>
<td width="573" height="27" align="left">Name: '.$row_details['MerchantName'].'</td>
</tr>
<tr>
<td height="27" align="left">Address 1: '.$row_details['AddressLine1'].'</td>
</tr>
<tr>
<td height="27" align="left">Address 2: '.$row_details['AddressLine2'].'</td>
</tr>
<tr>
<td height="27" align="left">Telephone: '.$row_details['Telephone'].'</td>
</tr>
<tr>
<td height="27" align="left">Website: '.$row_details['Website'].'</td>
</tr>
<tr>
<td height="27" align="left">Description: '.$row_details['Description'].'</td>
</tr>
</table><br />';
#
}
#

#
// show next
#
if ($page == 1 && $page < $total_pages)
#
{
#
echo '<a href="?MerchantType='.$MerchantType.'&County='.$County.'&page='.$next.'">Next</a>';
#
}
#

#
// shoe prev & next
#
if ($page > 1 && $page < $total_pages)
#
{
# // prev link
#
echo '<a href="?MerchantType='.$MerchantType.'&County='.$County.'$page='.$prev.'">Previous</a> |';
// next link
#
echo '<a href="?MerchantType='.$MerchantType.'&County='.$County.'$page='.$next.'">Next</a> ';
#

#
}
#

#
// show prev
#
if ($page > 1 && $page == $total_pages)
#
{
#
echo '<a href="?MerchantType='.$MerchantType.'&County='.$County.'&page='.$prev.'">Previous</a>';
#
}

Sam

Other forums