Are there any recommended resources or guides for implementing pagination in PHP for a news section with customizable content?

Implementing pagination in PHP for a news section with customizable content involves fetching news articles from a database, limiting the number of articles displayed per page, and providing navigation links to move between pages. One way to achieve this is by using the LIMIT clause in SQL queries to fetch a subset of articles for each page.

<?php

// Connect to database
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "news_db";

$conn = new mysqli($servername, $username, $password, $dbname);

// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

// Determine current page
$page = isset($_GET['page']) ? $_GET['page'] : 1;
$limit = 10; // Number of articles per page

// Calculate offset
$offset = ($page - 1) * $limit;

// Fetch news articles from database
$sql = "SELECT * FROM news ORDER BY date_published DESC LIMIT $limit OFFSET $offset";
$result = $conn->query($sql);

// Display news articles
if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
        echo "<h2>" . $row["title"] . "</h2>";
        echo "<p>" . $row["content"] . "</p>";
    }
}

// Display pagination links
$sql = "SELECT COUNT(*) AS total FROM news";
$result = $conn->query($sql);
$row = $result->fetch_assoc();
$total_pages = ceil($row["total"] / $limit);

for ($i = 1; $i <= $total_pages; $i++) {
    echo "<a href='news.php?page=$i'>$i</a> ";
}

$conn->close();

?>