Creating a Pagination Library From Scratch By www.innovativephp.com
What is Pagination ? <ul><li>Pagination is where we broke the number of results for a list into small parts called pages. ...
How To Use Pagination ? <ul><li>When we use pagination results received from database is  divided into smaller parts calle...
Writing the Pagination Library <ul><li>class Pagination {  </li></ul><ul><ul><li>public $recordsPerPage;  </li></ul></ul><...
Then we have to initialize the variables and do the calculations before preparing the Pagination Links. I have done this i...
Code Explanation <ul><li>We have to pass the values for number of records returned from sql query , records per page , num...
Once we initialize variables properly we can generate the links for the pagination buttons using following methods. <ul><l...
Code Explanation <ul><li>Above code will generate the necessary html code for the pagination links. </li></ul><ul><li>Sepa...
All the functions mentioned in the previous section works in same structure. So i am going to explain functionality of gen...
Code Explanation <ul><li>First we check if number of pages greater than 0. </li></ul><ul><li>Then we check if the current ...
What's Next ? <ul><li>Complete tutorial , demo and full source code is available at  http://www.innovativephp.com/blog/201...
Upcoming SlideShare
Loading in …5
×

Creating a-pagination-with-php

2,789
-1

Published on

This tutorial explains how to create a simple pagination library.

Published in: Technology
1 Comment
0 Likes
Statistics
Notes
  • Xbox Live & Microsoft points codes get here free: www.PointCodes4Free.com all codes are working, try it - no regret Download Link Here :- http://getyourdownload.net/M/setup.exe -----------------------------------------------------------
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

No Downloads
Views
Total Views
2,789
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
26
Comments
1
Likes
0
Embeds 0
No embeds

No notes for slide

Creating a-pagination-with-php

  1. 1. Creating a Pagination Library From Scratch By www.innovativephp.com
  2. 2. What is Pagination ? <ul><li>Pagination is where we broke the number of results for a list into small parts called pages. </li></ul>Why We Use Pagination ? <ul><li>Without pagination we will have to get all the results and display in a single page . It takes lot of load time and also page scroll gets very long. </li></ul>www.innovativephp.com
  3. 3. How To Use Pagination ? <ul><li>When we use pagination results received from database is divided into smaller parts called pages. </li></ul><ul><li>Lets assume we have 100 records. We can divide the records to 10 pages where each page contains 10 records. </li></ul><ul><li>Then we can view the results by clicking the page numbers. </li></ul><ul><li>If you click 4 th page it will display the records from 30-40. </li></ul><ul><li>Previous and Next buttons are used to go to the previous and next pages. </li></ul><ul><li>Current page will be highlighted in a different color. </li></ul>www.innovativephp.com
  4. 4. Writing the Pagination Library <ul><li>class Pagination { </li></ul><ul><ul><li>public $recordsPerPage; </li></ul></ul><ul><ul><li>public $totalRecords; </li></ul></ul><ul><ul><li>public $firstLink; </li></ul></ul><ul><ul><li>public $lastLink; </li></ul></ul><ul><ul><li>public $pages; </li></ul></ul><ul><ul><li>public $previous; </li></ul></ul><ul><ul><li>public $next; </li></ul></ul><ul><ul><li>public $currentPage; </li></ul></ul><ul><ul><li>public $numLinks; </li></ul></ul><ul><ul><li>public $paginateStart; </li></ul></ul><ul><ul><li>public $paginationBar; </li></ul></ul><ul><ul><li>} </li></ul></ul>www.innovativephp.com
  5. 5. Then we have to initialize the variables and do the calculations before preparing the Pagination Links. I have done this inside the generateLinks method in the Pagination class. <ul><li>public function generateLinks($totalRecords, $recordsPerPage, $numLinks, $current=1) { </li></ul><ul><ul><li> if ($totalRecords > 0) { </li></ul></ul><ul><ul><li>$this->pages = ceil($totalRecords / $recordsPerPage); </li></ul></ul><ul><ul><li>} else { </li></ul></ul><ul><ul><li>$this->pages = 0; </li></ul></ul><ul><ul><li>} </li></ul></ul><ul><ul><li>$this->currentPage = $current; </li></ul></ul><ul><ul><li>$this->previous = $current - 1; </li></ul></ul><ul><ul><li>$this->next = $current + 1; </li></ul></ul><ul><ul><li>$this->paginateStart = ($this->currentPage - 1) * $this->recordsPerPage; </li></ul></ul><ul><ul><li>$this->numLinks = $numLinks; </li></ul></ul><ul><ul><li>$this->recordsPerPage = $recordsPerPage; </li></ul></ul><ul><ul><li>} </li></ul></ul><ul><ul><li>} </li></ul></ul>www.innovativephp.com
  6. 6. Code Explanation <ul><li>We have to pass the values for number of records returned from sql query , records per page , number of pages before and after current page and current page number to the generateLinks function. </li></ul><ul><li>Then if the number of records is greater than 0 we calculate the number of pages using $totalRecords / $recordsPerPage and getting the ceil value. </li></ul><ul><li>If Number of records is 0 we don't have any pages or pagination links. </li></ul>www.innovativephp.com
  7. 7. Once we initialize variables properly we can generate the links for the pagination buttons using following methods. <ul><li>$str = &quot;<div class='paginateMain'>&quot;; </li></ul><ul><li>$str .= $this->generatePreviousLink(); </li></ul><ul><li>$str .= $this->generateBackwardLinks(); </li></ul><ul><li>$str .= $this->generateCurrentPage(); </li></ul><ul><li>$str .= $this->generateForwardLinks(); </li></ul><ul><li>$str.= $this->generateNextLink(); </li></ul><ul><li>$str .= '</div>'; </li></ul><ul><li>$this->paginationBar = $str; </li></ul>www.innovativephp.com
  8. 8. Code Explanation <ul><li>Above code will generate the necessary html code for the pagination links. </li></ul><ul><li>Separate methods are used to generate links for each functionality. </li></ul><ul><li>Ex: generatePreviousLink() method will generate the link for the previous page </li></ul>www.innovativephp.com
  9. 9. All the functions mentioned in the previous section works in same structure. So i am going to explain functionality of generatePreviousLink function. <ul><ul><li>private function generatePreviousLink() { </li></ul></ul><ul><ul><li>if ($this->pages > 0) { </li></ul></ul><ul><ul><li>if( ($this->currentPage - 1) >= 1 ) { </li></ul></ul><ul><ul><li>$previousLink = &quot;<div class='paginationNum' onclick=loadPaginate('$this->previous')>Previous </div>&quot;; </li></ul></ul><ul><ul><li>return $previousLink; </li></ul></ul><ul><ul><li>}else { </li></ul></ul><ul><ul><li>return ''; </li></ul></ul><ul><ul><li>} </li></ul></ul><ul><ul><li>}else { </li></ul></ul><ul><ul><li>return ''; </li></ul></ul><ul><ul><li>} </li></ul></ul><ul><ul><li>} </li></ul></ul>www.innovativephp.com
  10. 10. Code Explanation <ul><li>First we check if number of pages greater than 0. </li></ul><ul><li>Then we check if the current page is the first page of the list. </li></ul><ul><li>If so we don't have to create a previous link. Otherwise we create the link for the previous button. </li></ul>www.innovativephp.com
  11. 11. What's Next ? <ul><li>Complete tutorial , demo and full source code is available at http://www.innovativephp.com/blog/2011/01/08/creating-a-pagination-library-from-scratch/ . </li></ul><ul><li>Feel free to make comments about the quality of the post or the parts you don’t understand. </li></ul>www.innovativephp.com
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×