<?php
// Assuming you have the database connection established already
require("../../mainconfig.php");

// Function to calculate the total number of pages based on the number of records per page
function getTotalPages($totalRecords, $recordsPerPage) {
    return ceil($totalRecords / $recordsPerPage);
}

// Function to fetch news data for the current page
function getNewsData($offset, $recordsPerPage, &$totalRecords) {
    global $db;

    $query = "SELECT * FROM news ORDER BY id DESC LIMIT $recordsPerPage OFFSET $offset";
    $result = mysqli_query($db, $query);

    $data = array();
    while ($row = mysqli_fetch_assoc($result)) {
        $data[] = array(
            "id" => $row['id'],
            "content" => $row['content'],
            "date" => $row['date'],
        );
    }

    // Get the total number of records in the 'news' table
    $totalRecordsQuery = "SELECT COUNT(*) AS total FROM news";
    $totalRecordsResult = mysqli_query($db, $totalRecordsQuery);
    $totalRecordsRow = mysqli_fetch_assoc($totalRecordsResult);
    $totalRecords = $totalRecordsRow['total'];

    return $data;
}

$recordsPerPage = isset($_GET['recordsPerPage']) ? intval($_GET['recordsPerPage']) : 10;
$page = isset($_GET['page']) ? intval($_GET['page']) : 1;

// Calculate the OFFSET for the current page
$offset = ($page - 1) * $recordsPerPage;

// Fetch news data for the current page
$data = getNewsData($offset, $recordsPerPage, $totalRecords);

// Calculate total pages
$totalPages = getTotalPages($totalRecords, $recordsPerPage);

// Return data as JSON
echo json_encode(array(
    "news" => $data,
    "totalPages" => $totalPages
));
?>
