Hello all,

I am having a problem with trying to display a set amount of records from my
result.
I have verified that the correct values for my variables are being passed to
the query.
The calculation for the records that should be displayed per page is
correct.
The total number of records returned from my query is correct.
And the calculated number of total pages to be displayed is correct.

So, initially it displays the first 10 results as it should, and has the
pages numbers at the bottom.  The problem is, when I click on a different
page number the same 10 results are ALWAYS displayed.  Even though my $page
variable IS being updated.

Any ideas why my results are not reflecting the page I select?


<?php
if(!isset($_GET['page'])){
    $page = 1;
 } else {
    $page = $_GET['page'];
 }
 // Define the number of results per page
 $max_results = 10;
 // Figure out the limit for the query based
 // on the current page number.
 $from = (($page * $max_results) - $max_results);
 echo $from."FROM";
 $page_results = $max_results + $from;
 echo $page_results."PAGE RESULTS";
  // Query the table and load all of the records into an array.
   $sql = "SELECT DISTINCT * FROM (
    SELECT TOP $max_results Value1, Value2 FROM (
     SELECT TOP $page_results Value1,
     FROM my_table
     WHERE my_table.column = 'P'
    ) as newtbl order by credit_card_id desc
   ) as newtbl2 order by credit_card_id asc";

    print_r ($sql);
  $result = mssql_query($sql) or die(mssql_error());
         //print_r ($result);
  $number_rows = mssql_num_rows($result);
?>
<table width='780' border='1' align='center' cellpadding='2' cellspacing='2'
bordercolor='#000000'>
<?php
if(!empty($result)) {
 while ($row = mssql_fetch_array($result)) {
  $id = $row['credit_card_id'];
  $dateTime = $row['date_request_received'];
  //print_r ($id_child);
?>
<tr>
<td width='88' height='13' align='center' class='tblcell'><div
align='center'><?php echo "<a href='javascript:editRecord($id)'>$id</a>"
?></div></td>
<td width='224' height='13' align='center' class='tblcell'><div
align='center'><?php echo "$dateTime" ?></div></td>
<td width='156' height='13' align='center' class='tblcell'><div
align='center'><?php echo "To Be Processed" ?></div></td>
<td width='156' height='13' align='center' class='tblcell'><div
align='center'><?php echo "Last Processed By" ?></div></td>
</tr>
<?php
 }
}
?>
</table>
<table align="center" width="780" cellpadding="2" cellspacing="2"
border="0">
<tr>
<td width='780' height='15' align='center' class='tblcell'><div
align='center'><strong>Results:&nbsp;</strong><?php echo "$number_rows";
?></div></td>
</tr>
</table>
<?php
// Figure out the total number of results in DB:
$sql_total= "SELECT * FROM my_table WHERE my_table.column = 'P'";
$tot_result = mssql_query($sql_total) or die(mssql_error());
$total_results = mssql_num_rows($tot_result) or die(mssql_error());
// Figure out the total number of pages. Always round up using ceil()
$total_pages = ceil($total_results / $max_results);
echo $max_results."Results";
echo $total_results."Total";
echo $total_pages."pages";
// 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>";
}
echo "</center>";
?>

Reply via email to