Paging
Posted: Tue Apr 22, 2008 4:52 am
Hi,
Can anyone give me some idea how to do paging on website.
Thanks
Can anyone give me some idea how to do paging on website.
Thanks
A community of PHP developers offering assistance, advice, discussion, and friendship.
http://forums.devnetwork.net/
Code: Select all
class Pager
{
function getPagerData($numHits, $limit, $page)
{
$numHits = (int) $numHits;
$limit = max((int) $limit, 1);
$page = (int) $page;
$numPages = ceil($numHits / $limit);
$page = max($page, 1);
$page = min($page, $numPages);
$offset = ($page - 1) * $limit;
$ret = new stdClass;
$ret->offset = $offset;
$ret->limit = $limit;
$ret->numPages = $numPages;
$ret->page = $page;
return $ret;
}
}
$page = $_GET['page'];
$limit = 20;//set how many records you want to show
$result = mysql_query("select count(*) FROM tableName");
$total = mysql_result($result, 0, 0);
// work out the pager values
$pager = Pager::getPagerData($total, $limit, $page);
$offset = $pager->offset;
$limit = $pager->limit;
$page = $pager->page;
// use pager values to fetch data
$query = "SELECT * FROM tableName LIMIT $offset, $limit";
$result = mysql_query($query);
while ($line = mysql_fetch_array($result))
{
extract($line);
echo '';//your content
};//end while
// output paging system (could also do it before we output the page content)
for ($i = 1; $i <= $pager->numPages; $i++) {
echo ' ';
if ($i == $pager->page)
echo 'Page '.$i.'';
else
echo '<a href="'.$_SERVER['SCRIPT_NAME'].'/?page='.$i.'">Page '.$i.'</a>';
};