CodeIgniter Q & A


How to implement pagination in CodeIgniter?

Implementing pagination in CodeIgniter is a common requirement when dealing with large sets of data, such as displaying search results or lists of items. CodeIgniter provides a straightforward way to implement pagination using its built-in pagination library. Here’s a step-by-step guide on how to implement pagination in CodeIgniter:


  1. Load the Pagination Library:

   Start by loading the Pagination library in your CodeIgniter controller. You can do this using the following code:





  1. Configure Pagination Parameters:

   Configure the pagination settings by creating an array with the necessary parameters. These parameters include the total number of items, items per page, and various styling options for pagination links. Here’s an example:


   $config = array(

       'base_url' => '',

       'total_rows' => 200,  // Total number of items

       'per_page' => 10,    // Items per page

       'num_links' => 5,    // Number of links to show

       'uri_segment' => 3   // URI segment containing the page number





  1. Fetch Data for the Current Page:

   In your controller method, fetch the data to display for the current page. You can use SQL queries, models, or any other data retrieval method.


  1. Display Paginated Data:

   In your view, display the paginated data. Use the `$this->pagination->create_links()` method to generate the pagination links and include them in your view’s HTML.


  1. Handle Page Number in Controller:

   In your controller method, use the URI segment specified in the pagination configuration to determine the current page number. You can access it using `$this->uri->segment(3)` for the example configuration above.

With these steps, you can implement pagination in your CodeIgniter application. Users can navigate through large datasets easily, and you can maintain control over the number of items displayed per page and the overall appearance of pagination links. Pagination is a valuable feature for improving user experience and managing data presentation in web applications.

Previously at
Flag Argentina
time icon
Experienced Full Stack Systems Analyst, Proficient in CodeIgniter with extensive 5+ years experience. Strong in SQL, Git, Agile.