summaryrefslogtreecommitdiff
path: root/Wrapper/Functions/func_search.php
diff options
context:
space:
mode:
Diffstat (limited to 'Wrapper/Functions/func_search.php')
-rw-r--r--Wrapper/Functions/func_search.php52
1 files changed, 52 insertions, 0 deletions
diff --git a/Wrapper/Functions/func_search.php b/Wrapper/Functions/func_search.php
new file mode 100644
index 0000000..3c85eab
--- /dev/null
+++ b/Wrapper/Functions/func_search.php
@@ -0,0 +1,52 @@
+<?php
+// ****************************************************************************
+// Description: Fonction pour rechercher les consultants
+// ****************************************************************************
+function search($request, $isResearch) {
+ // Instanciation des méthodes de recherches de la BDD.
+ $dbsearch = new DbSearch;
+ // Si c'est une recherche.
+ if ($isResearch) {
+ $result = $dbsearch->search_consultant_by_name($request);
+ // Pour chaque utilisateur avec un nom qui "match".
+ foreach ($result as $key => $value) {
+ // récupération du nombre de mission effectué.
+ $numberMission = $dbsearch->count_consultant_mission_by_name($value["lastname"]);
+ $result[$key]["numberOfMissions"] = $numberMission[0]["COUNT(*)"];
+ // récupération des notes de l'utilisateur.
+ $allNotes = $dbsearch->get_consultant_note_by_name($value["lastname"]);
+ // Pour chaque note on la "push" (ajoute) dans une liste.
+ $notes = array();
+ foreach ($allNotes as $value) {
+ array_push($notes, $value["note"]);
+ }
+ // On fait la moyenne des notes,
+ // et pour les étoiles on "coupe" tout ce qui est après la virgule.
+ // J'ai préféré ce système à un "round()"
+ if ($notes) {
+ $average = array_sum($notes) / count($notes);
+ $result[$key]["note"] = round($average, 2);
+ $result[$key]["star"] = (int)$average;
+ // Si il n'y a pas encore de note.
+ } else {
+ $result[$key]["note"] = 0;
+ $result[$key]["star"] = 0;
+ }
+ }
+ // Si c'est "plus d'info" et non une recherche.
+ } else {
+ $result = $dbsearch->get_user_info_by_id($request);
+ }
+ // Redirection vers l'index avec le "payload" (contenu) en fonction du type de recherche.
+ $search = array(
+ "result" => $result,
+ "isResearch" => true
+ );
+ if (!$isResearch) {
+ $search["isResearch"] = false;
+ }
+ $_SESSION["search"] = $search;
+ header("Location: /index.php#separator2");
+ die();
+}
+?> \ No newline at end of file