Introduction
In this official documentation, we will learn how to implement Ajax pagination using Jquery in PHP Codeigniter 3. Pagination is a common feature in web applications that allows users to navigate through a large set of data. Ajax pagination provides a seamless user experience by loading data dynamically without refreshing the entire page.
Requirements
To follow this tutorial, you will need the following:
– PHP Codeigniter 3 installed on your local machine or server.
– Basic knowledge of PHP, Codeigniter, and Jquery.
Installation
Before we begin, make sure you have Codeigniter 3 installed and configured properly. If you haven’t installed Codeigniter 3 yet, you can download it from the official website (https://codeigniter.com/download).
Once you have downloaded Codeigniter 3, extract the zip file and place it in your web server’s document root directory. Rename the extracted folder to your desired project name.
Configuration
After installing Codeigniter 3, you need to configure the database settings. Open the `application/config/database.php` file and update the following lines with your database credentials:
«`php
‘hostname’ => ‘localhost’,
‘username’ => ‘your_username’,
‘password’ => ‘your_password’,
‘database’ => ‘your_database’,
«`
Save the file and proceed to the next step.
Creating the Controller
In Codeigniter, controllers are responsible for handling user requests and returning responses. To create a controller for our pagination functionality, follow these steps:
1. Open the `application/controllers` directory and create a new file called `Pagination.php`.
2. Open the `Pagination.php` file and add the following code:
«`php
load->model(‘pagination_model’);
}
public function index()
{
$this->load->view(‘pagination_view’);
}
public function get_data()
{
$page = $this->input->post(‘page’);
$limit = 10; // Number of records to show per page
$offset = ($page – 1) * $limit;
$data[‘records’] = $this->pagination_model->get_records($limit, $offset);
$data[‘total_records’] = $this->pagination_model->get_total_records();
echo json_encode($data);
}
}
«`
In the above code, we have created a controller called `Pagination` with three methods: `index()`, `get_data()`, and `__construct()`. The `index()` method loads the view file, `pagination_view.php`. The `get_data()` method is responsible for fetching the data from the model and returning it as a JSON response.
Creating the Model
Models in Codeigniter are used to interact with the database and retrieve data. To create a model for our pagination functionality, follow these steps:
1. Open the `application/models` directory and create a new file called `Pagination_model.php`.
2. Open the `Pagination_model.php` file and add the following code:
«`php
db->limit($limit, $offset);
$query = $this->db->get(‘your_table_name’);
return $query->result();
}
public function get_total_records()
{
return $this->db->count_all(‘your_table_name’);
}
}
«`
In the above code, we have created a model called `Pagination_model` with two methods: `get_records()` and `get_total_records()`. The `get_records()` method fetches the records from the database based on the limit and offset values. The `get_total_records()` method returns the total number of records in the database table.
Creating the View
Views in Codeigniter are responsible for displaying the data to the user. To create a view for our pagination functionality, follow these steps:
1. Open the `application/views` directory and create a new file called `pagination_view.php`.
2. Open the `pagination_view.php` file and add the following code:
«`html
PHP Codeigniter 3 Ajax Pagination using Jquery
«`
In the above code, we have created a view file called `pagination_view.php`. The view file contains HTML markup along with Jquery code to handle the Ajax pagination functionality. The `load_data()` function is responsible for making an Ajax request to the `get_data()` method in the controller and displaying the fetched records on the page. The pagination links are dynamically generated based on the total number of records.
Implementing Ajax Pagination
To implement Ajax pagination in Codeigniter, follow these steps:
1. Open the `application/config/routes.php` file and add the following line:
«`php
$route[‘pagination’] = ‘pagination’;
«`
2. Open your web browser and navigate to `http://localhost/your_project_name/pagination`. You should see the records displayed on the page along with the pagination links.
Handling Pagination Links
In the `pagination_view.php` file, we have added a click event listener to the pagination links. When a pagination link is clicked, the `load_data()` function is called with the corresponding page number. The `load_data()` function then makes an Ajax request to the `get_data()` method in the controller, passing the page number as a parameter. The controller fetches the records from the model based on the limit and offset values and returns them as a JSON response. The fetched records are then displayed on the page along with the updated pagination links.
Conclusion
In this official documentation, we have learned how to implement Ajax pagination using Jquery in PHP Codeigniter 3. Ajax pagination provides a seamless user experience by loading data dynamically without refreshing the entire page. By following the steps outlined in this documentation, you should now be able to implement Ajax pagination in your Codeigniter projects.