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 = ?";
$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;
}
}
|