help on perfect pagination ??
I am using the following pagination code
<?php
include "db_config.php";
$link=@mysql_connect($host,$user,$pass)
or die(mysql_error());
@mysql_select_db($db)
or die(mysql_error());
$total_results = mysql_result(mysql_query("SELECT COUNT(*) as Num FROM users"),0);
// 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;
// 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
$sqlquery = mysql_query("SELECT * FROM users order by id DESC LIMIT $from, $max_results");
//used for displaying the no of members as a SN
$i=0;
while($row = mysql_fetch_array($sqlquery)){
// Build your formatted results here.
//here goes the fetched data
}
// Figure out the total number of results in DB:
$total_results = mysql_result(mysql_query("SELECT COUNT(*) as Num FROM users"),0);
// 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><b>Go to Page</b><br />";
// Build Previous Link
if($page > 1){
$prev = ($page - 1);
echo "<a href=\"".$_SERVER['PHP_SELF']."?axn=view epals&page=$prev\">Prev<<</a> ";
}
for($i = 1; $i <= $total_pages; $i++){
if(($page) == $i){
echo "$i ";
} else {
echo "<a href=\"".$_SERVER['PHP_SELF']."?axn=view epals&page=$i\"><b>[$i]</b></a> ";
}
}
// Build Next Link
if($page < $total_pages){
$next = ($page + 1);
echo "<a href=\"".$_SERVER['PHP_SELF']."?axn=view epals&page=$next\"> Next>></a>";
}
echo "</center>";
?>
the above code is working perfectly but i need some modifications
the above page displays as
<<prev [1] [2] [3]… next>>
with the formatted results as
Code:
[LEFT]|SN| members | email |…|1 | xxx | xxx@.|…[/LEFT]
I am using this code for displaying the no of members…it works fine for page 1…but if goes to page 2 then it displays the SN from 1 to 10 but it should display from 11 to 20…
what are the required modifications in above code to get the results from 11 to 20 in page 2 …with the word that displays " xx to yy of zzz"
I hope my problem is clear…
Thanks in advannce for the help