What are the best practices for handling pagination in PHP when retrieving data from a database?

When retrieving data from a database in PHP, it's important to implement pagination to efficiently manage large datasets. This involves limiting the number of records fetched from the database at a time, and providing navigation controls for users to move between pages of results. By paginating the data, you can improve the performance of your application and enhance the user experience.

<?php

// Define the number of records to display per page
$records_per_page = 10;

// Calculate the total number of pages based on the total number of records
$total_records = // get total number of records from the database
$total_pages = ceil($total_records / $records_per_page);

// Determine the current page number
$current_page = isset($_GET['page']) ? $_GET['page'] : 1;

// Calculate the starting record for the current page
$start = ($current_page - 1) * $records_per_page;

// Fetch records from the database using LIMIT and OFFSET
$query = "SELECT * FROM table_name LIMIT $start, $records_per_page";
// Execute the query and display the results

// Display pagination links
for ($i = 1; $i <= $total_pages; $i++) {
    echo "<a href='?page=$i'>$i</a> ";
}

?>