From 473e6eb56ca1211be05d2b5fd814710f2ff78d38 Mon Sep 17 00:00:00 2001 From: Debulois Date: Sun, 13 Mar 2022 12:42:37 +0100 Subject: Mise ç jour de pas mal de chose et ajout de la possibilité de pouvoir ajouter/supprimer des catégories d'emploi MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Database/meth_dbadmin.php | 108 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 108 insertions(+) create mode 100644 Database/meth_dbadmin.php (limited to 'Database/meth_dbadmin.php') diff --git a/Database/meth_dbadmin.php b/Database/meth_dbadmin.php new file mode 100644 index 0000000..32d6077 --- /dev/null +++ b/Database/meth_dbadmin.php @@ -0,0 +1,108 @@ +tableUserAccount; + // https://www.php.net/manual/fr/pdostatement.fetch.php + // "PDO::FETCH_ASSOC: retourne un tableau indexé + // par le nom de la colonne comme retourné dans le jeu de résultats" + $data = $this->exec_cmd($reqGetAll, array())->fetchAll(PDO::FETCH_ASSOC); + return $data; + } + + // https://stackoverflow.com/questions/1361340/how-can-i-do-insert-if-not-exists-in-mysql + // Suppresion d'un utilisateur + final public function user_del($userId) { + // Préparation de la requète pour voir si l'utilisateur existe + // https://stackoverflow.com/questions/1676551/best-way-to-test-if-a-row-exists-in-a-mysql-table + $reqCheckExistId = "SELECT EXISTS(SELECT 1 FROM ".$this->tableUserAccount." WHERE userId = ? LIMIT 1)"; + // Exécution de la requète, fetchall pour avoir le résultat + // https://www.php.net/manual/fr/pdostatement.fetch.php + // struct par défaut req et index (fetch_both) = arr([0] => arr("req" => BOOL, [0] => BOOL)) + // PDO::FETCH_NUM : retourne un tableau indexé par le numéro de la colonne comme elle + // est retourné dans votre jeu de résultat, commençant à 0 + $reqResult = $this->exec_cmd($reqCheckExistId, array($userId))->fetchAll(PDO::FETCH_NUM); + // Si il existe + if ($reqResult[0][0]) { + // Préparation de la requète pour suppression + $reqDelUser = "DELETE FROM ".$this->tableUserAccount." WHERE userId = ?"; + // Exécution de la requète + $this->exec_cmd($reqDelUser, array($userId)); + // Retourne 1 pour réussite + return 1; + } else { + // Retourne 0 pour échec + return 0; + } + } + + // Récupérer toutes les infos de la table jobCategory + final public function get_all_job_category() { + $reqGetAll = "SELECT * FROM ".$this->tableJobCategory; + $data = $this->exec_cmd($reqGetAll, array())->fetchAll(PDO::FETCH_ASSOC); + return $data; + } + + // Ajout d'une categorie + final public function job_category_register($jobCategoryNameEn, $jobCategoryNameFr) { + // Préparation et execution de la requète pour voir si la categorie existe en anglais + $reqCheckjobCategoryNameEn = "SELECT EXISTS(SELECT 1 FROM ".$this->tableJobCategory." WHERE jobCategoryNameEn = ? LIMIT 1)"; + $reqResultEn = $this->exec_cmd($reqCheckjobCategoryNameEn, array($jobCategoryNameEn))->fetchAll(PDO::FETCH_NUM); + // Si il n'existe pas en anglais + if (!$reqResultEn[0][0]) { + // Préparation et execution de la requète pour voir si la categorie existe en Français + $reqCheckjobCategoryNameFr = "SELECT EXISTS(SELECT 1 FROM ".$this->tableJobCategory." WHERE jobCategoryNameFr = ? LIMIT 1)"; + $reqResultFr = $this->exec_cmd($reqCheckjobCategoryNameFr, array($jobCategoryNameFr))->fetchAll(PDO::FETCH_NUM); + // Si il n'existe pas en Français non plus + if (!$reqResultFr[0][0]) { + // Préparation de la requète pour l'ajout + $reqjobCategoryNameAdd = "INSERT INTO ".$this->tableJobCategory." + (jobCategoryNameEn, jobCategoryNameFr) + VALUES + (? ,?)"; + // Exécution de la requète + $this->exec_cmd($reqjobCategoryNameAdd, array($jobCategoryNameEn, $jobCategoryNameFr)); + // Retourne 1 pour réussite + return 1; + } else { + // Retourne 0 pour échec + return 0; + } + } else { + // Retourne 0 pour échec + return 0; + } + } + + // Suppresion d'un utilisateur + final public function job_category_del($jobCategoryId) { + // Préparation de la requète pour voir si l'utilisateur existe + $reqCheckExistId = "SELECT EXISTS(SELECT 1 FROM ".$this->tableJobCategory." WHERE jobCategoryId = ? LIMIT 1)"; + // Exécution de la requète, fetchall pour avoir le résultat + // struct par défaut req et index (fetch_both) = arr([0] => arr("req" => BOOL, [0] => BOOL)) + // fetch_num pour casser l'index "req" en chiffre, dict -> list + $reqResult = $this->exec_cmd($reqCheckExistId, array($jobCategoryId))->fetchAll(PDO::FETCH_NUM); + // Si il existe + if ($reqResult[0][0]) { + // Préparation de la requète pour suppression + $reqDelJobCategory = "DELETE FROM ".$this->tableJobCategory." WHERE jobCategoryId = ?"; + // Exécution de la requète + $this->exec_cmd($reqDelJobCategory, array($jobCategoryId)); + // Retourne 1 pour réussite + return 1; + } else { + // Retourne 0 pour échec + return 0; + } + } +} +?> \ No newline at end of file -- cgit v1.2.3