Jump to content

Pagination Issue


ramtx

Recommended Posts

I've got a bunch of results of a query from an HTML form on a page (searchform.php). The form action = results.php. It runs fine, but when I click on one of the pagination links the variables don't pass. Consequently, I get an error in my SQL because my query ends up being "....WHERE prop_beds = ''..."

I guess I need help passing the variables to my next page. Here's my code for results.php:

[code]

<?php
include 'dbconn.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 = 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
?>

[/code]


Thanks in adavance.
Link to comment
https://forums.phpfreaks.com/topic/3372-pagination-issue/
Share on other sites

  • 1 month later...

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.