pdo = $pDO->getPdoGsb(); } public function getLesUtilisateurs(): array { $req = 'SELECT "uId", "uNom", "uPrenom" FROM utilisateur WHERE "uStatut"!=0 ORDER BY "uNom" ASC;'; $result = $this->pdo->prepare($req); $result->execute(); return $result->fetchAll(); } public function dateComplete(string $date): string { 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); } }