Compare commits
4 Commits
a2201a4eb3
...
pagination
Author | SHA1 | Date | |
---|---|---|---|
e6b8c87744 | |||
c990aed3d3 | |||
af3771e786 | |||
8aafdf565b |
@@ -3,6 +3,9 @@
|
|||||||
class Class_gestionFiche
|
class Class_gestionFiche
|
||||||
{
|
{
|
||||||
private $pdo = null;
|
private $pdo = null;
|
||||||
|
public static $NB_LIGNES_PAGINATION = 12;
|
||||||
|
public static $NB_LIGNES_FICHEAVALIDER = 15;
|
||||||
|
|
||||||
|
|
||||||
public function __construct(PdoGsb $pDO)
|
public function __construct(PdoGsb $pDO)
|
||||||
{
|
{
|
||||||
@@ -13,30 +16,72 @@ class Class_gestionFiche
|
|||||||
{
|
{
|
||||||
$req = 'SELECT "uId", "uNom", "uPrenom" FROM utilisateur WHERE "uStatut"!=0 ORDER BY "uNom" ASC;';
|
$req = 'SELECT "uId", "uNom", "uPrenom" FROM utilisateur WHERE "uStatut"!=0 ORDER BY "uNom" ASC;';
|
||||||
$result = $this->pdo->prepare($req);
|
$result = $this->pdo->prepare($req);
|
||||||
$result ->execute();
|
$result->execute();
|
||||||
|
|
||||||
return $result->fetchAll();
|
return $result->fetchAll();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function get_ListesFiches(string $idUtilisateur): array
|
public function dateComplete(string $date): string
|
||||||
{
|
|
||||||
$req = 'SELECT "rMois", "rEtat", "rNbJustificatifs", ROUND("rMontantValide", 2) as "rMontantValide", "eLibelle"
|
|
||||||
FROM remboursement
|
|
||||||
INNER JOIN etat ON etat."eId"=remboursement."rEtat"
|
|
||||||
WHERE "rVisiteur"= :userId
|
|
||||||
ORDER BY "rMois" DESC';
|
|
||||||
|
|
||||||
$result = $this->pdo->prepare($req);
|
|
||||||
$result ->bindParam("userId", $idUtilisateur);
|
|
||||||
$result ->execute();
|
|
||||||
|
|
||||||
return $result->fetchAll();
|
|
||||||
}
|
|
||||||
|
|
||||||
public function dateComplete(string $date) : string
|
|
||||||
{
|
{
|
||||||
return substr($date, 0, 4) . '-' . substr($date, 4);
|
return substr($date, 0, 4) . '-' . substr($date, 4);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function get_ficheAvalider(int $nPage): array
|
||||||
|
{
|
||||||
|
$decalage = ($nPage - 1) * $this::$NB_LIGNES_FICHEAVALIDER;
|
||||||
|
$req = 'SELECT "rMois", "rVisiteur", "rEtat", ROUND("rMontantValide", 2)
|
||||||
|
as "rMontantValide", "eLibelle", "uNom", "uPrenom"
|
||||||
|
from remboursement
|
||||||
|
INNER JOIN utilisateur ON utilisateur."uId"=remboursement."rVisiteur"
|
||||||
|
INNER JOIN etat ON etat."eId"=remboursement."rEtat"
|
||||||
|
where "rEtat"=\'CL\'
|
||||||
|
ORDER BY "rMois" ASC
|
||||||
|
LIMIT :nbLignes offset :decalage;';
|
||||||
|
$result = $this->pdo->prepare($req);
|
||||||
|
$result->bindParam('nbLignes', $this::$NB_LIGNES_FICHEAVALIDER);
|
||||||
|
$result->bindParam('decalage', $decalage);
|
||||||
|
$result->execute();
|
||||||
|
|
||||||
|
return $result->fetchAll();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function get_nbFicheAvalider(): int
|
||||||
|
{
|
||||||
|
$req = 'SELECT COUNT(*) as "nbFicheAvalider" from remboursement
|
||||||
|
where "rEtat"=\'CL\'';
|
||||||
|
$result = $this->pdo->prepare($req);
|
||||||
|
$result->execute();
|
||||||
|
$result = $result->fetch();
|
||||||
|
|
||||||
|
return (int) $result['nbFicheAvalider'];
|
||||||
|
}
|
||||||
|
|
||||||
|
public function get_nbRemboursement(string $idUtilisateur): int
|
||||||
|
{
|
||||||
|
$req = 'SELECT COUNT(*) as "nbRemboursement" from remboursement WHERE "rVisiteur"= :userId;';
|
||||||
|
$result = $this->pdo->prepare($req);
|
||||||
|
$result->bindParam("userId", $idUtilisateur);
|
||||||
|
$result->execute();
|
||||||
|
$result = $result->fetch();
|
||||||
|
|
||||||
|
return (int) $result['nbRemboursement'];
|
||||||
|
}
|
||||||
|
|
||||||
|
public function get_Page(int $nPage, string $idUtilisateur): array
|
||||||
|
{
|
||||||
|
$decalage = ($nPage - 1) * $this::$NB_LIGNES_PAGINATION;
|
||||||
|
$req = 'SELECT "rMois", "rVisiteur", "rEtat", ROUND("rMontantValide", 2)
|
||||||
|
as "rMontantValide", "eLibelle"
|
||||||
|
FROM remboursement
|
||||||
|
INNER JOIN etat ON etat."eId"=remboursement."rEtat"
|
||||||
|
WHERE "rVisiteur"= :userId
|
||||||
|
ORDER BY "rDateModif" DESC LIMIT :nbLignes offset :decalage;';
|
||||||
|
$result = $this->pdo->prepare($req);
|
||||||
|
$result->bindParam('nbLignes', $this::$NB_LIGNES_PAGINATION);
|
||||||
|
$result->bindParam('decalage', $decalage);
|
||||||
|
$result->bindParam('userId', $idUtilisateur);
|
||||||
|
$result->execute();
|
||||||
|
|
||||||
|
return $result->fetchAll(PDO::FETCH_ASSOC);
|
||||||
|
}
|
||||||
}
|
}
|
31
controleurs/c_ficheAvalider.php
Normal file
31
controleurs/c_ficheAvalider.php
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
<?php
|
||||||
|
$_SESSION["typeU"] = "comptable";
|
||||||
|
|
||||||
|
require_once(__DIR__ . '/../Class/class.gestionFiche.php');
|
||||||
|
$gestionFiche = new Class_gestionFiche($pdo);
|
||||||
|
|
||||||
|
$LesUtilisateurs = $gestionFiche->getLesUtilisateurs(); //RENVOIE LISTE USERS
|
||||||
|
|
||||||
|
if ($_SESSION["typeU"] == "comptable") {
|
||||||
|
if (isset($_REQUEST['selVisiteur'])) {
|
||||||
|
$userId = $_REQUEST['selVisiteur'];
|
||||||
|
} else {
|
||||||
|
$userId = $LesUtilisateurs[0]['uId'];
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$userId = $_SESSION['uId'];
|
||||||
|
}
|
||||||
|
|
||||||
|
//Pagination
|
||||||
|
if(isset($_GET['page']) && !empty($_GET['page'])){
|
||||||
|
$currentPage = (int) strip_tags($_GET['page']);
|
||||||
|
}else{
|
||||||
|
$currentPage = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
$pages = ceil($gestionFiche->get_nbFicheAvalider() / $gestionFiche::$NB_LIGNES_FICHEAVALIDER);
|
||||||
|
|
||||||
|
$lesFiches = $gestionFiche->get_ficheAvalider($currentPage);
|
||||||
|
|
||||||
|
|
||||||
|
include("vues/v_fichesAvalider.php");
|
@@ -16,8 +16,16 @@ if ($_SESSION["typeU"] == "comptable") {
|
|||||||
$userId = $_SESSION['uId'];
|
$userId = $_SESSION['uId'];
|
||||||
}
|
}
|
||||||
|
|
||||||
$lesFiches = $gestionFiche->get_ListesFiches($userId);
|
//Pagination
|
||||||
|
if(isset($_GET['page']) && !empty($_GET['page'])){
|
||||||
|
$currentPage = (int) strip_tags($_GET['page']);
|
||||||
|
}else{
|
||||||
|
$currentPage = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
$pages = ceil($gestionFiche->get_nbRemboursement($userId) / $gestionFiche::$NB_LIGNES_PAGINATION);
|
||||||
|
|
||||||
|
|
||||||
|
$lesFiches = $gestionFiche->get_Page($currentPage, $userId);
|
||||||
|
|
||||||
include("vues/v_gestionFiches.php");
|
include("vues/v_gestionFiches.php");
|
||||||
|
@@ -6,7 +6,7 @@
|
|||||||
require_once(__DIR__ . '/../Class/class.newFiche.php');
|
require_once(__DIR__ . '/../Class/class.newFiche.php');
|
||||||
|
|
||||||
$typeUser = $_SESSION['uType']; //visiteur ou comptable
|
$typeUser = $_SESSION['uType']; //visiteur ou comptable
|
||||||
$typeUser = 'comptable';//$_SESSION['uType']; //visiteur ou comptable
|
$typeUser = 'visiteur';//$_SESSION['uType']; //visiteur ou comptable
|
||||||
$userId = $_SESSION['uId']; //exemple: 'b34'
|
$userId = $_SESSION['uId']; //exemple: 'b34'
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -13,7 +13,7 @@
|
|||||||
Partie visiteur
|
Partie visiteur
|
||||||
-->
|
-->
|
||||||
<?php
|
<?php
|
||||||
if($_SESSION['typeU'] == 'visiteur'):
|
if($_SESSION['uType'] == 'visiteur'):
|
||||||
?>
|
?>
|
||||||
<li>
|
<li>
|
||||||
<a href="#submenu1" data-bs-toggle="collapse" class="nav-link px-0 align-middle">
|
<a href="#submenu1" data-bs-toggle="collapse" class="nav-link px-0 align-middle">
|
||||||
@@ -34,7 +34,7 @@
|
|||||||
<a href="#" class="nav-link px-0 align-middle">
|
<a href="#" class="nav-link px-0 align-middle">
|
||||||
<i class="fs-4 bi-table"></i> <span class="ms-1 d-none d-sm-inline">Visites</span></a>
|
<i class="fs-4 bi-table"></i> <span class="ms-1 d-none d-sm-inline">Visites</span></a>
|
||||||
</li>
|
</li>
|
||||||
<?php endif; if ($_SESSION['typeU'] == 'comptable'): ?>
|
<?php endif; if ($_SESSION['uType'] == 'comptable'): ?>
|
||||||
<!--
|
<!--
|
||||||
Partie comptable
|
Partie comptable
|
||||||
-->
|
-->
|
||||||
@@ -48,7 +48,7 @@
|
|||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="#" class="nav-link px-0"> <span class="d-none d-sm-inline">Historique</span>
|
<a href="index.php?direction=ficheAvalider" class="nav-link px-0"> <span class="d-none d-sm-inline">fiches a vérifier</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
@@ -71,6 +71,10 @@ if (!isset($_REQUEST['direction']) && !isset($_SESSION['uId'])) {
|
|||||||
include(__DIR__ . "/controleurs/c_nouvelleFiche.php");
|
include(__DIR__ . "/controleurs/c_nouvelleFiche.php");
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 'ficheAvalider':
|
||||||
|
include(__DIR__ . "/controleurs/c_ficheAvalider.php");
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
include("controleurs/c_homePage.php");
|
include("controleurs/c_homePage.php");
|
||||||
break;
|
break;
|
||||||
|
70
vues/v_fichesAvalider.php
Normal file
70
vues/v_fichesAvalider.php
Normal file
@@ -0,0 +1,70 @@
|
|||||||
|
<div class="text-center">
|
||||||
|
<br>
|
||||||
|
<h3>Fiches à valider</h3>
|
||||||
|
</div>
|
||||||
|
<div class="col-11 d-flex mx-auto">
|
||||||
|
<table class="table table-striped">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th scope="col">Mois</th>
|
||||||
|
<th scope="col">Nom Fiche</th>
|
||||||
|
<th scope="col">Total</th>
|
||||||
|
<th scope="col">Statut</th>
|
||||||
|
<th scope="col">Détails</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<?php foreach ($lesFiches as $uneFiche) { ?>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">
|
||||||
|
<?= $gestionFiche->dateComplete($uneFiche['rMois']) ?>
|
||||||
|
</th>
|
||||||
|
<td>
|
||||||
|
<?= $uneFiche['uNom'] ?>
|
||||||
|
<?= $uneFiche['uPrenom'] ?>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<?= $uneFiche['rMontantValide'] ?> €
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<?= $uneFiche['eLibelle'] ?>
|
||||||
|
</td>
|
||||||
|
<td><a
|
||||||
|
href="index.php?direction=nouvelleFiche&userId=<?= $userId ?>&dateListing=<?= $uneFiche['rMois'] ?>">voir</a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<?php } ?>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<?php if ($pages > 0) { ?>
|
||||||
|
<div class="col-4 d-flex mx-auto">
|
||||||
|
<nav>
|
||||||
|
<ul class="pagination">
|
||||||
|
<!-- Lien vers la page précédente (désactivé si on se trouve sur la 1ère page) -->
|
||||||
|
<li class="page-item <?= ($currentPage == 1) ? "disabled" : "" ?>">
|
||||||
|
<a href="index.php?direction=ficheAvalider&page=<?= $currentPage - 1 ?>"
|
||||||
|
class="page-link">Précédente</a>
|
||||||
|
</li>
|
||||||
|
<?php for ($page = 1; $page <= $pages; $page++): ?>
|
||||||
|
<!-- Lien vers chacune des pages (activé si on se trouve sur la page correspondante) -->
|
||||||
|
<li class="page-item <?= ($currentPage == $page) ? "active" : "" ?>">
|
||||||
|
<a href="index.php?direction=ficheAvalider&page=<?= $page ?>"
|
||||||
|
class="page-link">
|
||||||
|
<?= $page ?>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<?php endfor ?>
|
||||||
|
<!-- Lien vers la page suivante (désactivé si on se trouve sur la dernière page) -->
|
||||||
|
<li class="page-item <?= ($currentPage == $pages) ? "disabled" : "" ?>">
|
||||||
|
<a href="index.php?direction=ficheAvalider&page=<?= $currentPage + 1 ?>"
|
||||||
|
class="page-link">Suivante</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
<?php
|
||||||
|
};
|
||||||
|
?>
|
@@ -22,7 +22,7 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
echo '</select>'; ?>
|
echo '</select>'; ?>
|
||||||
<button type="submit" class="btn btn-dark m-2" >Selectionner</button>
|
<button type="submit" class="btn btn-dark m-2">Selectionner</button>
|
||||||
<!-- Fin du formulaire -->
|
<!-- Fin du formulaire -->
|
||||||
<?php }
|
<?php }
|
||||||
?>
|
?>
|
||||||
@@ -63,22 +63,35 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
PAGINATION:// NE PAS TOUCHER
|
PAGINATION:
|
||||||
-->
|
-->
|
||||||
<div class="col-4 d-flex mx-auto">
|
|
||||||
<nav aria-label="...">
|
<?php if ($pages > 0) { ?>
|
||||||
|
<div class="col-4 d-flex mx-auto">
|
||||||
|
<nav>
|
||||||
<ul class="pagination">
|
<ul class="pagination">
|
||||||
<li class="page-item disabled">
|
<!-- Lien vers la page précédente (désactivé si on se trouve sur la 1ère page) -->
|
||||||
<a class="page-link">Previous</a>
|
<li class="page-item <?= ($currentPage == 1) ? "disabled" : "" ?>">
|
||||||
|
<a href="index.php?direction=gestionFiche&page=<?= $currentPage - 1 ?>&selVisiteur=<?= $userId ?>"
|
||||||
|
class="page-link">Précédente</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="page-item"><a class="page-link" href="#">1</a></li>
|
<?php for ($page = 1; $page <= $pages; $page++): ?>
|
||||||
<li class="page-item active" aria-current="page">
|
<!-- Lien vers chacune des pages (activé si on se trouve sur la page correspondante) -->
|
||||||
<a class="page-link" href="#">2</a>
|
<li class="page-item <?= ($currentPage == $page) ? "active" : "" ?>">
|
||||||
|
<a href="index.php?direction=gestionFiche&page=<?= $page ?>&selVisiteur=<?= $userId ?>"
|
||||||
|
class="page-link">
|
||||||
|
<?= $page ?>
|
||||||
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="page-item"><a class="page-link" href="#">3</a></li>
|
<?php endfor ?>
|
||||||
<li class="page-item">
|
<!-- Lien vers la page suivante (désactivé si on se trouve sur la dernière page) -->
|
||||||
<a class="page-link" href="#">Next</a>
|
<li class="page-item <?= ($currentPage == $pages) ? "disabled" : "" ?>">
|
||||||
|
<a href="index.php?direction=gestionFiche&page=<?= $currentPage + 1 ?>&selVisiteur=<?= $userId ?>"
|
||||||
|
class="page-link">Suivante</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</nav>
|
</nav>
|
||||||
</div>
|
</div>
|
||||||
|
<?php
|
||||||
|
};
|
||||||
|
?>
|
Reference in New Issue
Block a user