Code Snippet
Pagination Function
function pagination($item_count, $limit, $cur_page, $link)
{
$page_count = ceil($item_count/$limit);
$current_range = array(($cur_page-2 < 1 ? 1 : $cur_page-2), ($cur_page+2 > $page_count ? $page_count : $cur_page+2));
// First and Last pages
$first_page = $cur_page > 3 ? '<a href="'.sprintf($link, '1').'">1</a>'.($cur_page < 5 ? ', ' : ' ... ') : null;
$last_page = $cur_page < $page_count-2 ? ($cur_page > $page_count-4 ? ', ' : ' ... ').'<a href="'.sprintf($link, $page_count).'">'.$page_count.'</a>' : null;
// Previous and next page
$previous_page = $cur_page > 1 ? '<a href="'.sprintf($link, ($cur_page-1)).'">Previous</a> | ' : null;
$next_page = $cur_page < $page_count ? ' | <a href="'.sprintf($link, ($cur_page+1)).'">Next</a>' : null;
// Display pages that are in range
for ($x=$current_range[0];$x <= $current_range[1]; ++$x)
$pages[] = '<a href="'.sprintf($link, $x).'">'.($x == $cur_page ? '<strong>'.$x.'</strong>' : $x).'</a>';
if ($page_count > 1)
return '<p class="pagination"><strong>Pages:</strong> '.$previous_page.$first_page.implode(', ', $pages).$last_page.$next_page.'</p>';
}
Usage:
pagination(
total amount of item/rows/whatever,
limit of items per page,
current page number,
url
);
Example:
pagination(45, 20, 1, 'http://example.com/userlist/%d.html');
Output HTML:
<p class="pagination">
<strong>Pages:</strong>
<a href="http://example.com/userlist/1.html"><strong>1</strong></a>,
<a href="http://example.com/userlist/2.html">2</a>,
<a href="http://example.com/userlist/3.html">3</a>
| <a href="http://example.com/userlist/2.html">Next</a>
</p>
Code in the first codeblock is corrupted. The code for the html links are not visible.
Thanks Frank, that’s fixed.
thanks. great wor!
Code is not working…….
I am going through some seo problems with the paginated pages on my site. How do i block or disable pagination altogether. Here is an example of a page
http://www.cardownloan.com/page/269/?option=com_content&task=view&id=73&Itemid=1
I have lots like this, and it is a seo nightmare
thanks
haahahahaha… I like you don’t say a word of instruction in this….
A little help sir?
DigWP
A book and blog co-authored by Jeff Starr and myself about the World's most popular publishing platform.
Quotes on Design
Design, like Art, can be an elusive word to define and an awfully fun thing to have opinions about.
HTML-Ipsum
One-click copy to clipboard access to Lorem Ipsum text that comes wrapped in a variety of HTML.
Bookshelf
Hey Chris, what books do you recommend? These, young fertile mind, these.