PSD to HTML conversion PSD to HTML conversion PSD2HTML.com with over 300 professionals takes the designs to HTML and beyond

Code Snippet

Home » Code Snippets » PHP » Pagination Function

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>

Subscribe to The Thread

  1. Code in the first codeblock is corrupted. The code for the html links are not visible.

  2. thanks. great wor!

  3. Code is not working…….

  4. 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

  5. haahahahaha… I like you don’t say a word of instruction in this….

  6. A little help sir?

Speak, my friend

At this moment, you have an awesome opportunity* to be the person your mother always wanted you to be: kind, helpful, and smart. Do that, and we'll give you a big ol' gold star for the day (literally).

Posting tips:
  • You can use basic HTML
  • When posting code, please turn all
    < characters into &lt;
  • If the code is multi-line, use
    <pre><code></code></pre>
Thank you,
~ The Management ~