What is the best practice for splitting output in PHP when fetching data from a database?

When fetching data from a database in PHP, it's a good practice to split the output into smaller, more manageable chunks to improve performance and readability. One way to achieve this is by using pagination, which divides the data into pages that can be accessed individually. This approach helps prevent loading all the data at once, reducing the load on the server and improving the user experience.

// Assuming $results is an array of data fetched from the database

$page = isset($_GET['page']) ? $_GET['page'] : 1;
$items_per_page = 10;
$total_items = count($results);
$total_pages = ceil($total_items / $items_per_page);

$start = ($page - 1) * $items_per_page;
$end = $start + $items_per_page;

$paginated_results = array_slice($results, $start, $items_per_page);

// Display the paginated results
foreach ($paginated_results as $result) {
    // Output the data as needed
}

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