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
|
// on envoie (affiche) l'objet en JSON
|
||||||
//echo json_encode($answer);
|
echo json_encode($answer);
|
||||||
echo "<pre>";
|
|
||||||
print_r($answer);
|
|
||||||
echo "</pre>";
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1332,7 +1332,7 @@ class DataBase{
|
||||||
|
|
||||||
public static function searchForUsers($nom){
|
public static function searchForUsers($nom){
|
||||||
|
|
||||||
$retour = userRepo::search($nom);
|
$retour = groupRepo::search($nom);
|
||||||
if (!$retour || $retour === array()) {
|
if (!$retour || $retour === array()) {
|
||||||
return false;
|
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;
|
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 */
|
/* DEFAULT */
|
||||||
|
|
4
test.php
4
test.php
|
@ -428,9 +428,9 @@ require_once __ROOT__.'/manager/security.php';
|
||||||
$req = new stdClass();
|
$req = new stdClass();
|
||||||
$ans = new stdClass();
|
$ans = new stdClass();
|
||||||
|
|
||||||
$req->level_0 = 'user';
|
$req->level_0 = 'groups';
|
||||||
$req->level_1 = 'search';
|
$req->level_1 = 'search';
|
||||||
$req->keywords = 'nometu Etud11';
|
$req->keywords = 'nometu Etud10';
|
||||||
|
|
||||||
$_POST['json'] = json_encode($req);
|
$_POST['json'] = json_encode($req);
|
||||||
include 'API.php';
|
include 'API.php';
|
||||||
|
|
Loading…
Reference in New Issue