idk
This commit is contained in:
@@ -40,39 +40,6 @@ class Paginator {
|
||||
]);
|
||||
}
|
||||
|
||||
public function setPageUri($page)
|
||||
{
|
||||
$uri = $_SERVER['REQUEST_URI'];
|
||||
$uriComp = parse_url($uri);
|
||||
$params = [];
|
||||
|
||||
// Parse existing query parameters
|
||||
if (isset($uriComp['query'])) {
|
||||
parse_str($uriComp['query'], $params);
|
||||
} else {
|
||||
$params = array();
|
||||
}
|
||||
|
||||
// Avoid unnecessary redirection if the page is already correct
|
||||
if (isset($params['page']) && (int)$params['page'] === $page) {
|
||||
exit; // Do nothing if already on the correct page
|
||||
}
|
||||
|
||||
// Update the 'page' parameter
|
||||
$params['page'] = $page;
|
||||
|
||||
// Rebuild the query string
|
||||
$newUri = http_build_query($params);
|
||||
|
||||
// Redirect to the updated URI
|
||||
// Use the current path or root
|
||||
return
|
||||
[
|
||||
'newUri' => $newUri,
|
||||
'path' => $uriComp['path'] ?? '/'
|
||||
];
|
||||
}
|
||||
|
||||
public function getPage(int $pageNumber): array {
|
||||
|
||||
if ($pageNumber < 0 || $pageNumber >= $this->_totalPages) {
|
||||
|
@@ -9,6 +9,7 @@
|
||||
<!-- Dynamic Page Buttons -->
|
||||
<?php
|
||||
$totalPages = $view->paginator->getTotalPages();
|
||||
var_dump($totalPages);
|
||||
for ($i = $view->pageNumber - 2; $i <= $view->pageNumber + 2; $i++) {
|
||||
if ($i >= 0 && $i < $totalPages): ?>
|
||||
<a href="?page=<?= $i ?>"
|
||||
|
@@ -2,6 +2,10 @@
|
||||
require_once('Models/FacilityDataSet.php');
|
||||
require_once("Models/Paginator.php");
|
||||
|
||||
if(!isset($_GET['page'])) {
|
||||
header("location: ?page=0");
|
||||
}
|
||||
|
||||
$filterArray = [
|
||||
0 => "",
|
||||
1 => "",
|
||||
@@ -18,20 +22,13 @@ $rowLimit = 5; //$_POST['rowCount'];
|
||||
|
||||
$facilityDataSet = new FacilityDataSet();
|
||||
|
||||
if (isset($_POST['pageButtons'])) {
|
||||
$currentPage = (int)$_POST['pageButtons'];
|
||||
} elseif (isset($_POST['pageDown'])) {
|
||||
$currentPage = (int)$_POST['pageDown'];
|
||||
} else {
|
||||
$currentPage = 0; // Default to the first page
|
||||
}
|
||||
|
||||
if (isset($_POST['applyFilters']) && isset($_POST['filter'])) {
|
||||
var_dump($_POST);
|
||||
$applyFilters = filter_input(INPUT_POST, 'applyFilters', FILTER_SANITIZE_STRING);
|
||||
$filterKey = filter_input(INPUT_POST, 'filter', FILTER_SANITIZE_STRING);
|
||||
|
||||
$filterArray[$filterKey] = $applyFilters;
|
||||
// Set the filter and generate the new URI
|
||||
$filterSet = $facilityDataSet->setFilterUri($applyFilters, $filterArray[$filterKey]);
|
||||
$filterSet = $facilityDataSet->setFilterUri($applyFilters, array_search($applyFilters, $filterArray));
|
||||
|
||||
// Parse the existing query string
|
||||
parse_str($filterSet["newUri"], $queryParams);
|
||||
@@ -56,8 +53,6 @@ $view->pageData = $facilityDataSet->fetchAll($filterArray);
|
||||
$view->paginator = new Paginator($rowLimit, $view->pageData);
|
||||
|
||||
// Initialize paginator
|
||||
$view->paginator->setPageUri($currentPage);
|
||||
|
||||
$view->pageNumber = $view->paginator->getPageFromUri();
|
||||
$view->pageData = $view->paginator->getPage($view->pageNumber);
|
||||
|
||||
|
Reference in New Issue
Block a user