summaryrefslogtreecommitdiff
path: root/Database/meth_dbmission.php
blob: f39f0b6afd819d76f06261024598f5fd3dcfcbd2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
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 = ?";
            $result = $this->exec_cmd($reqGetAllMission, array($id))->fetchAll(PDO::FETCH_ASSOC);
            return $result;
        }

        // 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 = ?";
            $result = $this->exec_cmd($reqCountMission, array($name))->fetchAll(PDO::FETCH_ASSOC);
            return $result;
        }

}