Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 2393 → Rev 2394

/trunk/jrest/services/NomsChampsEtendus.php
33,12 → 33,22
return true;
}
 
function rechercherCles($recherche_cle) {
$requete = "SELECT DISTINCT cle, label FROM cel_obs_etendues WHERE ".
"cle LIKE ".Cel::db()->proteger($recherche_cle)." OR ".
"label LIKE ".Cel::db()->proteger($recherche_cle)." ";
function rechercherCles($recherche_cle) {
// Recherche dans clé du catalogue et les clés déja saisies par les utilisateurs.
// Si une clé est présente dans les deux tables, on privilégie celle du catalogue
// qui contient un label bien formé
$requete = "(SELECT cle, label, 'catalogue' FROM cel_catalogue_champs_etendus WHERE ".
"label LIKE ".Cel::db()->proteger($recherche_cle)." ".
"AND groupe = 0 ".
") ".
"UNION ".
"(SELECT DISTINCT cle, cle as label, 'utilisateur' FROM cel_obs_etendues WHERE ".
"cle LIKE ".Cel::db()->proteger($recherche_cle).
"AND cle NOT IN (SELECT cle FROM cel_catalogue_champs_etendus) ".
") ";
 
$resultat = Cel::db()->requeter($requete);
 
$referentiel = array();
foreach($resultat as $valeur) {
$referentiel[$valeur['cle']] = $valeur['label'];