Recherche étudiant fonctionnelle
This commit is contained in:
parent
c0d17b2c73
commit
1b17e158d3
5
API.php
5
API.php
|
@ -106,10 +106,7 @@ require_once __ROOT__.'/manager/security.php';
|
|||
|
||||
|
||||
// on envoie (affiche) l'objet en JSON
|
||||
//echo json_encode($answer);
|
||||
echo "<pre>";
|
||||
print_r($answer);
|
||||
echo "</pre>";
|
||||
echo json_encode($answer);
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -1332,7 +1332,7 @@ class DataBase{
|
|||
|
||||
public static function searchForUsers($nom){
|
||||
|
||||
$retour = userRepo::search($nom);
|
||||
$retour = groupRepo::search($nom);
|
||||
if (!$retour || $retour === array()) {
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -251,7 +251,33 @@ class groupsManager{
|
|||
|
||||
|
||||
|
||||
/***********************/
|
||||
/* MOTEUR DE RECHERCHE */
|
||||
/***********************/
|
||||
case 'search':
|
||||
//On vérifie qu'on a bien les mots clés
|
||||
if (isset($request->keywords) && $request->keywords != '') {
|
||||
//On explode les mots clés
|
||||
$keys = explode(' ', $request->keywords);
|
||||
|
||||
//Pour chaque mot clé on lance une recherche dans la bdd
|
||||
foreach ($keys as $mot) {
|
||||
$retour = null;
|
||||
//On cherche d'abord en fonction du nom...
|
||||
$retour = DataBase::searchForUsers($mot);
|
||||
//Si il y a un résultat de recherche alors on le stock dans résultat
|
||||
if ($retour === false) {
|
||||
$answer->results = null;
|
||||
}
|
||||
else {
|
||||
$answer->results = $retour;
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
$answer->request = 'no_keywords';
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
/***********/
|
||||
|
|
|
@ -518,4 +518,30 @@ class groupRepo{
|
|||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Fonction search : recherche dans la bae de données un utilisateur
|
||||
* Pour se faire on recherche un mot clé contenu dans le nom ou le prénom de l'utilisateur
|
||||
*
|
||||
* @param $mot: le mot clé de la recherche associée
|
||||
* @return le tableau des résultats, ou false en cas d'erreur
|
||||
*==================================================================================================>
|
||||
*/
|
||||
public static function search($mot){
|
||||
//Vérification du paramètre:
|
||||
if (! checkParam($mot, '<string>')) {
|
||||
return false;
|
||||
}
|
||||
//On recherche dans la table utilisateur dans les noms et prénoms qui contiendraient une ccurence de "mot"
|
||||
$statement = DataBase::getPDO()->prepare("SELECT * FROM utilisateur".
|
||||
" WHERE nom LIKE :nom OR :prenom OR nom = :mot OR prenom = :mot ;");
|
||||
$ret = $statement->execute(array(':nom' => '%'.$mot.'%',
|
||||
':prenom' => '%'.$mot.'%',
|
||||
':mot' => $mot));
|
||||
if($ret)
|
||||
return $statement->fetchAll();
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -502,28 +502,6 @@ class userRepo{
|
|||
|
||||
|
||||
|
||||
/**
|
||||
* Fonction search : recherche dans la bae de données un utilisateur
|
||||
* Pour se faire on recherche un mot clé contenu dans le nom ou le prénom de l'utilisateur
|
||||
*
|
||||
* @param $mot: le mot clé de la recherche associée
|
||||
* @return le tableau des résultats, ou false en cas d'erreur
|
||||
*==================================================================================================>
|
||||
*/
|
||||
public static function search($mot){
|
||||
//Vérification du paramètre:
|
||||
if (! checkParam($mot, '<string>')) {
|
||||
return false;
|
||||
}
|
||||
//On recherche dans la table utilisateur dans les noms et prénoms qui contiendraient une ccurence de "mot"
|
||||
$statement = DataBase::getPDO()->prepare("SELECT * FROM utilisateur".
|
||||
" WHERE nom LIKE :nom OR :prenom OR nom = :mot OR prenom = :mot ;");
|
||||
$ret = $statement->execute(array(':nom' => '%'.$mot.'%',
|
||||
':prenom' => '%'.$mot.'%',
|
||||
':mot' => $mot));
|
||||
if($ret)
|
||||
return $statement->fetchAll();
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -184,33 +184,7 @@ class userManager{
|
|||
break;
|
||||
|
||||
|
||||
/***********************/
|
||||
/* MOTEUR DE RECHERCHE */
|
||||
/***********************/
|
||||
case 'search':
|
||||
//On vérifie qu'on a bien les mots clés
|
||||
if (isset($request->keywords) && $request->keywords != '') {
|
||||
//On explode les mots clés
|
||||
$keys = explode(' ', $request->keywords);
|
||||
|
||||
//Pour chaque mot clé on lance une recherche dans la bdd
|
||||
foreach ($keys as $mot) {
|
||||
$retour = null;
|
||||
//On cherche d'abord en fonction du nom...
|
||||
$retour = DataBase::searchForUsers($mot);
|
||||
//Si il y a un résultat de recherche alors on le stock dans résultat
|
||||
if ($retour === false) {
|
||||
$answer->results = null;
|
||||
}
|
||||
else {
|
||||
$answer->results = $retour;
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
$answer->request = 'no_keywords';
|
||||
}
|
||||
break;
|
||||
|
||||
/***********/
|
||||
/* DEFAULT */
|
||||
|
|
4
test.php
4
test.php
|
@ -428,9 +428,9 @@ require_once __ROOT__.'/manager/security.php';
|
|||
$req = new stdClass();
|
||||
$ans = new stdClass();
|
||||
|
||||
$req->level_0 = 'user';
|
||||
$req->level_0 = 'groups';
|
||||
$req->level_1 = 'search';
|
||||
$req->keywords = 'nometu Etud11';
|
||||
$req->keywords = 'nometu Etud10';
|
||||
|
||||
$_POST['json'] = json_encode($req);
|
||||
include 'API.php';
|
||||
|
|
Loading…
Reference in New Issue