104,63 → 104,52 |
} |
|
private function fabriquerRequeteJointureObs() { |
|
$requete_jointure_observations = 'FROM cel_images ci '. |
'LEFT JOIN cel_obs_images coi '. |
'ON coi.id_image = ci.id_image '. |
$requete = 'FROM cel_images ci '. |
'LEFT JOIN cel_obs co '. |
'ON coi.id_observation = co.id_observation '. |
'ON ci.ce_observation = co.id_observation '. |
'WHERE 1 '; |
|
return $requete_jointure_observations; |
return $requete; |
} |
|
public function obtenirInformationsObservationsAssociees($id_utilisateur, $id_image) { |
$requete = 'SELECT ce_observation FROM cel_images WHERE id_image = '.$id_image; |
$resultats = Cel::db()->requeter($requete); |
|
$requete_table_liaison = 'SELECT id_observation FROM cel_obs_images WHERE id_image = '.$id_image; |
$idsObsListe = array(); |
foreach ($resultats as $liaison) { |
$idsObsListe[] = $liaison['ce_observation']; |
} |
$ids_obs = implode(',', $idsObsListe); |
|
$resultats_liaisons_images = Cel::db()->requeter($requete_table_liaison); |
|
$ids_obs = ''; |
|
foreach($resultats_liaisons_images as $liaison) { |
$ids_obs .= $liaison['id_observation'].","; |
} |
$ids_obs = rtrim($ids_obs,','); |
$infos_obs = ''; |
if (trim($ids_obs) != '') { |
$requete = 'SELECT * FROM cel_obs WHERE id_observation IN ('.$ids_obs.') AND ce_utilisateur = "'.$id_utilisateur.'"'; |
$resultats = Cel::db()->requeter($requete); |
|
if(trim($ids_obs) != '') { |
$requete_obs_liees = 'SELECT * FROM cel_obs WHERE id_observation IN ('.$ids_obs.') AND ce_utilisateur ="'.$id_utilisateur.'"'; |
$resultat_obs_liees = Cel::db()->requeter($requete_obs_liees); |
|
foreach($resultat_obs_liees as $obs_liee) |
{ |
foreach ($resultats as $obs_liee) { |
$infos_obs .= $obs_liee['ordre'].'#'.$obs_liee['nom_sel'].'#'.$obs_liee['transmission'].';;' ; |
} |
} |
|
return $infos_obs; |
} |
|
private function fabriquerSousRequeteRecherche($id_utilisateur, $criteres) { |
|
$sous_requete = ' AND '; |
|
foreach($criteres as $nom => $valeur) |
{ |
foreach($criteres as $nom => $valeur) { |
if($valeur == null || trim($nom) == "" || trim($valeur) == "") { |
continue; |
} |
|
switch($nom) { |
case "id_image"; |
switch($nom) { |
case "id_image"; |
$sous_requete .= 'ci.id_image = '.Cel::db()->proteger($valeur) ; |
$sous_requete .= ' AND '; |
break; |
$sous_requete .= ' AND '; |
break; |
|
case "mots_cles"; |
$sous_requete .= $this->creerSousRequeteMotsCles($valeur); |
break; |
break; |
|
case "id_mots_cles"; |
$liste_mc = '"'.str_replace(';','","',$valeur).'"'; |
167,18 → 156,17 |
$tpl_sous_requete = GestionMotsClesChemin::obtenirTemplateRequeteMotsClesIds('images'); |
$sous_requete .= 'id_image IN ('.sprintf($tpl_sous_requete, $liste_mc).')'; |
$sous_requete .= ' AND ' ; |
break; |
break; |
|
case "commentaire": |
$mots_comment_liste = explode(" " , $valeur) ; |
|
foreach($mots_comment_liste as $mot_comment) |
{ |
foreach($mots_comment_liste as $mot_comment) { |
$mot_comment = trim($mot_comment) ; |
$sous_requete .= 'ci.'.$nom.' LIKE '.Cel::db()->proteger('%'.$mot_comment.'%') ; |
$sous_requete .= ' AND ' ; |
} |
break; |
break; |
|
case "annee": |
case "mois": |
246,9 → 234,7 |
break; |
} |
} |
|
$sous_requete = rtrim($sous_requete,' AND '); |
|
return $sous_requete; |
} |
|