What are some best practices for handling pagination in PHP to ensure scalability and maintainability of the code?

Pagination in PHP can become complex as the amount of data grows, leading to potential scalability and maintainability issues. To address this, it's important to implement a clean and efficient pagination system that can handle large datasets without sacrificing performance. This can be achieved by using proper SQL queries, limiting the amount of data fetched from the database, and caching results where necessary.

// Example of handling pagination in PHP using SQL queries and limiting data fetched

// Set the number of items per page
$itemsPerPage = 10;

// Get the current page number from the URL parameter
$page = isset($_GET['page']) ? $_GET['page'] : 1;

// Calculate the offset for the SQL query
$offset = ($page - 1) * $itemsPerPage;

// Query to fetch data with pagination
$sql = "SELECT * FROM table_name LIMIT $offset, $itemsPerPage";

// Execute the query and fetch results
// $results = $pdo->query($sql)->fetchAll();