/*WDG-CORE-END*/ /*WDG-CORE-END*/ Learn Pagination in CodeIgniter with step by step examples – Share Query

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.