What are the best practices for displaying 10 entries per page with page numbers at the top and bottom in PHP?

When displaying 10 entries per page with page numbers at the top and bottom in PHP, it's important to set up pagination logic to determine which entries to display based on the current page number. This can be achieved by using a combination of GET parameters to track the current page and limit the number of entries displayed per page.

<?php
// Define total number of entries and entries per page
$total_entries = 100;
$entries_per_page = 10;

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

// Calculate offset for SQL query
$offset = ($current_page - 1) * $entries_per_page;

// Display entries for current page
$query = "SELECT * FROM entries LIMIT $offset, $entries_per_page";
// Execute query and display entries

// Display pagination links at the top
echo "<div class='pagination'>";

for ($i = 1; $i <= ceil($total_entries / $entries_per_page); $i++) {
    echo "<a href='?page=$i'>$i</a> ";
}

echo "</div>";

// Display pagination links at the bottom
echo "<div class='pagination'>";

for ($i = 1; $i <= ceil($total_entries / $entries_per_page); $i++) {
    echo "<a href='?page=$i'>$i</a> ";
}

echo "</div>";
?>