161,6 → 161,10 |
case 'ns' : |
$where[] = ' nom_sel LIKE '.$this->proteger($valeurMasque.'%'); |
break; |
case 'nn' : |
$where[] = ' (nom_sel_nn LIKE '.$this->proteger($valeurMasque.'%').' OR '. |
' nom_ret_nn LIKE '.$this->proteger($valeurMasque.'%').') '; |
break; |
case 'commune' : |
$where[] = ' '.$this->mappingFiltre[$idMasque].' LIKE '.$this->proteger(str_replace(array('-',' '), '_', $valeurMasque).'%'); |
break; |
422,6 → 426,12 |
$conditionsObs[] = "nom_sel LIKE '$nom_sel%'"; |
} |
|
// nom sel |
if (isset($masques['masque.nn'])) { |
$num_nom = $masques['masque.nn']; |
$conditionsObs[] = "(nom_sel_nn = '$num_nom' OR nom_ret_nn = '$num_nom') "; |
} |
|
// famille |
if (isset($masques['masque.famille'])) { |
$famille = $masques['masque.famille']; |
463,7 → 473,7 |
$dept = $masques['masque.departement']; |
$conditionsObs[] = $this->creerFiltreIdZoneGeo($dept); |
} |
|
|
return $conditionsObs; |
} |
|
498,7 → 508,6 |
' FROM del_obs_image doi '. |
' INNER JOIN del_image di ON doi.id_image = di.id_image '; |
|
|
// Si le tri se fait par date d'observation, on récupère les identifiants de N observations triées |
if (isset($this->parametres['tri']) && $this->parametres['tri'] == 'date_observation') { |
|
620,10 → 629,10 |
$tri = ' ORDER BY '.$this->parametres['tri'].' '.$ordre.', doi.id_observation '.$ordre.' '; |
$requeteObs .= $tri; |
} |
|
|
$requeteObs .= $this->gestionBdd->getLimitSql(); |
$observations = $this->bdd->recupererTous($requeteObs); |
|
|
$total = $this->getFoundRows(); |
$this->navigation->setTotal($total); |
|
792,13 → 801,13 |
'ON doi.id_image = dvote.ce_image AND dvote.ce_protocole = '.$this->parametres['protocole'] : |
'' |
); |
$requeteLiaisons .= $this->chargerClauseWhere(); |
$requeteLiaisons .= $this->getTri(); |
$requeteLiaisons .= $this->gestionBdd->getLimitSql(); |
$retour = $this->bdd->recupererTous($requeteLiaisons); |
$total = $this->getFoundRows(); |
$this->navigation->setTotal($total); |
return $retour; |
$requeteLiaisons .= $this->chargerClauseWhere(); |
$requeteLiaisons .= $this->getTri(); |
$requeteLiaisons .= $this->gestionBdd->getLimitSql(); |
$retour = $this->bdd->recupererTous($requeteLiaisons); |
$total = $this->getFoundRows(); |
$this->navigation->setTotal($total); |
return $retour; |
} |
|
|
1058,7 → 1067,7 |
unset($parametres['ordre']); |
|
// En revanche, chaque masque est associé à un type de requête particulier. |
$masquesObservation = array('masque', 'masque.departement', 'masque.ns', 'masque.genre', 'masque.date', 'masque.commune', 'masque.famille', 'masque.auteur'); |
$masquesObservation = array('masque', 'masque.departement', 'masque.ns', 'masque.genre', 'masque.date', 'masque.commune', 'masque.famille', 'masque.auteur', 'masque.nn'); |
$masquesImage = array('masque', 'masque.tag'); |
|
// Le type de requête est défini par les tables qu'il doit inclure (observation, image, ou les deux) |