Granted, I'm new at all this, but I've tried everything I can think of to make my results pagination work and so far, nada. What happens is my first set of results display perfectly. The links to the next pages display perfectly. However, when you click on one of the links, I get a mySQL error because the search variables don't get passed.
In other words, when I echo my query it is "....WHERE prop_beds = ' '...."
Please help. I've tried some of the other PHP sites and gotten no response. Please at least reply if I'm just an idiot and you don't have time for my problem.
Thanks in advance.
Here's the code in question:
<?php
include 'dbconn.inc';
//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 = 15;
//figure out the limit for the query based
//on the current page number.
$from = (($page * $max_results) - $max_results);
//perform MySQL query on only the current page number's results
$sql = "SELECT *
FROM properties
WHERE prop_beds = '$beds'
AND prop_price <= '$price'
AND (";
// loop through array of types:
foreach($type_check as $value){
$sql .= "prop_type = '$value' || ";
}
// remove last set of tubes and add closing parenthesis:
$sql = substr($sql, 0, strlen($sql)-4) . ')' . "LIMIT $from, $max_results";
echo $sql;
$query = mysql_query($sql) or die("Error: " . mysql_error());
//display headers
echo '<table class="results" width="380" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="14"><b>PROP #</b></td>
<td height="14"><b>BEDS</b></td>
<td height="14"><b>BATHS</b></td>
<td height="14"><b>PRICE</b></td>
<td height="14"><b>TYPE</b></td>
<td height="14"><b>LINK</b></td>
</tr>';
while($row = mysql_fetch_array($query)) {
//build your formatted results here.
echo '<tr>
<td height="14">WC-'.$row["prop_id"].'</td>
<td height="14">'.$row["prop_beds"].'</td>
<td height="14">'.$row["prop_baths"].'</td>
<td height="14">$'.$row["prop_price"].'</td>
<td height="14">'.$row["prop_type"].'</td>';
if ($row["prop_url"]){ //start of link check
echo'<td height="14"><a href ="javascript:newWindow(\''.$row["prop_url"].'\')"> PIX </a></td>';
}
else
{ //display X if no link exists
echo '<td height="14"><b>X</b></td>
</tr>';
} //end of link check
}
echo '</table>';
echo '<div align = "center"> <span class="regText">';
//figure out the total number of results in DB:
$total_results = mysql_result(mysql_query("SELECT COUNT(*) FROM properties"),0);
echo $total_results;
//figure out the total number of pages always round up using ceil
$total_pages = ceil($total_results / $max_results);
//build page number hyperlinks
echo "<center>Select a Page<br />";
//build previous link
if($page > 1){
$prev = ($page - 1);
echo "<a href=\"".$_SERVER['PHP_SELF']."?page=$prev\">Previous</a> ";
}
for($i = 1; $i <= $total_pages; $i++){
if(($page) == $i){
echo $i." ";
} 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\">Next</a>";
}else {
echo '<div align="center" class="regText">Sorry, no records match your criteria.</div></center>';
}
//print message if no matching records
//end of main
?>