summaryrefslogtreecommitdiff
path: root/Database/meth_dbmission.php
diff options
context:
space:
mode:
Diffstat (limited to 'Database/meth_dbmission.php')
-rw-r--r--Database/meth_dbmission.php59
1 files changed, 59 insertions, 0 deletions
diff --git a/Database/meth_dbmission.php b/Database/meth_dbmission.php
new file mode 100644
index 0000000..006f572
--- /dev/null
+++ b/Database/meth_dbmission.php
@@ -0,0 +1,59 @@
+<?php
+// ****************************************************************************
+// Description: Ensemble de méthodes pour étendre dbmain afin
+// d'effectuer des recherches dans la bdd
+// ****************************************************************************
+// Infos pour les "join":
+// https://www.freecodecamp.org/news/sql-joins-tutorial/
+//
+// Import de dbmain
+require_once(dirname( __FILE__ )."/dbmain.php");
+// Extension de cette classe avec dbmain
+class DbMission extends DbMain {
+
+ // Enregistrement d'une mission
+ final public function register_mission($subject, $note, $review, $clientId, $proId) {
+ // Vérification de l'existance de l'id de consultant
+ $exist = $this->check_exist_pro($proId);
+ // Si il existe
+ if ($exist) {
+ // Préparation de la requète pour enregistrement de la mission
+ $reqAddMission = "INSERT INTO ".$this->tableMission."
+ (date, subject, note, review, clientId, proId)
+ VALUES (?, ?, ?, ?, ?, ?)";
+ // Exécution de la requète
+ $this->exec_cmd($reqAddMission,
+ array(date("Y-m-d H:i:s"), $subject,
+ $note, $review,
+ $clientId, $proId
+ )
+ );
+ // Retourne 1 pour réussite
+ return 1;
+ } else {
+ // Retourne 0 pour échec
+ return 0;
+ }
+ }
+
+ // Récupérations des missions d'un pro par son id
+ final public function get_mission_by_id($id) {
+ $reqGetAllMission = "SELECT subject, note, review, lastname FROM ".$this->tableMission."
+ LEFT JOIN ".$this->tableUserInfo."
+ ON ".$this->tableMission.".missionId = ".$this->tableUserInfo.".userId
+ WHERE proId = ?";
+ $data = $this->exec_cmd($reqGetAllMission, array($id))->fetchAll(PDO::FETCH_ASSOC);
+ return $data;
+ }
+
+ // Compte le nombre de mission d'un consultant par son nom
+ final public function count_pro_missions_by_lastname($name) {
+ $reqCountMission = "SELECT COUNT(*) FROM ".$this->tableMission."
+ INNER JOIN ".$this->tableUserInfo."
+ ON ".$this->tableMission.".proId = ".$this->tableUserInfo.".userId
+ WHERE lastname = ?";
+ $data = $this->exec_cmd($reqCountMission, array($name))->fetchAll(PDO::FETCH_ASSOC);
+ return $data;
+ }
+
+} \ No newline at end of file