242,13 → 242,8 |
break; |
case 'id_mots_cles': |
$liste_mc = '"'.str_replace(';','","',$valeur).'"'; |
$sous_requete .= '' ; |
$sous_requete .= 'id_observation IN '. |
'(SELECT id_element_lie |
FROM cel_mots_cles_obs_liaison |
WHERE id_mot_cle IN ('.$liste_mc.') '. |
|
')'; |
$tpl_sous_requete = GestionMotsClesChemin::obtenirTemplateRequeteMotsClesTexte('obs'); |
$sous_requete .= 'id_observation IN ('.sprintf($tpl_sous_requete, $liste_mc).')'; |
$sous_requete .= ' AND ' ; |
break; |
case 'recherche': |
332,6 → 327,8 |
} |
|
private function creerSousRequeteMotsCles($mot_cle) { |
//TODO: une requête plus efficace serait possible en utilisant |
// les vraies tables de mots clés et en faisant disparaitre ce champ maudit |
$requete = ''; |
if (preg_match('/.*OU.*/', $mot_cle)) { |
$mots_cles_tab = explode('OU',$mot_cle); |