67,9 → 67,16 |
$requete_selection_observations .= 'WHERE '; |
} |
|
$tri = (isset($criteres['tri']) && in_array($criteres['tri'], self::$tris_possibles)) ? $criteres['tri'] : 'ordre'; |
// construction du tri |
$order_by_clause = ''; |
if (isset($criteres['tri']) && in_array($criteres['tri'], self::$tris_possibles)) { |
$order_by_clause = ' ORDER BY ' . $criteres['tri']; |
|
if (isset($criteres['tri_dir']) && in_array($criteres['tri_dir'], array('ASC', 'DESC'))) { |
$order_by_clause .= ' ' . $criteres['tri_dir'] |
} |
} |
unset($criteres['tri']); |
$tri_dir = (isset($criteres['tri_dir']) && in_array($criteres['tri_dir'], array('ASC', 'DESC'))) ? $criteres['tri_dir'] : 'ASC'; |
unset($criteres['tri_dir']); |
|
// très mauvaise solution, mais qui permet au moins d'effectuer des requêtes complexes, sans modifier l'API |
80,7 → 87,7 |
|
$requete_selection_observations .= $sous_requete_recherche; |
$requete_selection_observations = rtrim($requete_selection_observations, 'AND '); |
$requete_selection_observations .= $id_utilisateur == null ? ' ORDER BY id_observation, ordre ' : ' ORDER BY '.$tri.' '.$tri_dir; |
$requete_selection_observations .= $id_utilisateur == null ? ' ORDER BY id_observation, ordre ' : $order_by_clause; |
$requete_selection_observations .= ($debut == 0 && $limite == 0) ? '' : ' LIMIT '.$debut.','.$limite ; |
|
$this->requete_selection_observations = $requete_selection_observations; |