Learn Pagination in CodeIgniter with step by step examples

Pagination is a technique used in web development to divide a large set of data into smaller, more manageable chunks or pages. It allows users to view a limited number of records or results at a time, and navigate through different pages to access the remaining data.

  • Pagination typically includes navigation links, such as “Next”, “Previous”, “First”, “Last”, and numbered page links, that users can click on to move between pages.
  • Pagination can be implemented using server-side technologies like PHP, Python, or JavaScript frameworks, and is often combined with database queries or APIs to fetch the appropriate data for each page.

Here’s a step-by-step guide with an example on how to implement pagination in CodeIgniter, a popular PHP web framework.

Step 1: Install CodeIgniter First, make sure you have CodeIgniter installed on your server. You can download the latest version of CodeIgniter from the official website (https://codeigniter.com/) and follow the installation instructions.

Step 2: Set up a Controller Create a new controller in your CodeIgniter application that will handle the pagination logic. For example, you can create a file called “Posts.php” in the “controllers” directory. In this controller, you can define methods for fetching data from the database, setting up pagination, and loading views. Here’s an example:

<?php
class Posts extends CI_Controller {

    public function index()
    {
        // Fetch data from the database
        $this->load->model('post_model');
        $data['posts'] = $this->post_model->get_posts();

        // Load the pagination library
        $this->load->library('pagination');

        // Configure pagination settings
        $config['base_url'] = site_url('posts/index');
        $config['total_rows'] = count($data['posts']);
        $config['per_page'] = 10; // Number of items per page
        $config['uri_segment'] = 3; // URI segment containing the page number

        // Initialize pagination
        $this->pagination->initialize($config);

        // Generate pagination links
        $data['pagination_links'] = $this->pagination->create_links();

        // Load the view with data
        $this->load->view('posts/index', $data);
    }
}
?>

Step 3: Create a Model Create a model in your CodeIgniter application that will handle fetching data from the database. For example, you can create a file called “post_model.php” in the “models” directory. In this model, you can define methods for getting posts data from the database. Here’s an example:

<?php
class Post_model extends CI_Model {

    public function get_posts()
    {
        // Fetch posts data from the database
        // Example implementation, replace with your own logic
        $this->db->select('*');
        $this->db->from('posts');
        $query = $this->db->get();
        return $query->result();
    }
}
?>

Step 4: Create a View Create a view in your CodeIgniter application that will display the paginated data. For example, you can create a file called “index.php” in the “views/posts” directory. In this view, you can loop through the fetched data and display it, along with the pagination links. Here’s an example:

<!DOCTYPE html>
<html>
<head>
    <title>Posts</title>
</head>
<body>
    <h1>Posts</h1>
    <ul>
    <?php foreach ($posts as $post): ?>
        <li><?php echo $post->title; ?></li>
    <?php endforeach; ?>
    </ul>
    <div>
        <?php echo $pagination_links; ?>
    </div>
</body>
</html>

That’s it! With these steps, you should have a basic pagination implementation in CodeIgniter. You can customize the pagination settings and views as needed for your specific application.

Wordpress Social Share Plugin powered by Ultimatelysocial
Wordpress Social Share Plugin powered by Ultimatelysocial