81,13 → 81,41 |
$this->verifierParamChamps($param, $val); |
break; |
case 'distinct' : |
$this->distinct = $val; |
$this->ajouterNomDistinct($val); |
break; |
case 'masque.fam' : |
$this->ajouterFiltreMasque('famille', $val); |
break; |
case 'masque.prga' : |
$this->ajouterFiltreMasque('presence_ga', $val); |
break; |
case 'masque.prco' : |
$this->ajouterFiltreMasque('presence_co', $val); |
break; |
case 'masque.sto' : |
$this->ajouterFiltreMasque('statut_origine', $val); |
break; |
case 'masque.sti' : |
$this->ajouterFiltreMasque('statut_introduction', $val); |
break; |
case 'masque.stc' : |
$this->ajouterFiltreMasque('statut_culture', $val); |
break; |
case 'masque.and' : |
$this->requete_condition []= " annee > ".$this->getBdd()->proteger($val); |
break; |
case 'masque.anf' : |
$this->requete_condition []= " annee < ".$this->getBdd()->proteger($val); |
break; |
} |
$this->ajouterNomDistinct(); |
|
} |
} |
|
|
|
|
|
public function verifierParamChamps($param, $val) { |
$this->recupererTableSignification('correspondance_champs,champs_api,champs_comp'); |
$champs_demandes = explode(',', $val); |
106,15 → 134,11 |
} |
|
/** Permet de rajouter à la requete sql le parametre distinct. N'est utilisé qu'avec le format oss */ |
public function ajouterNomDistinct() { |
if (isset($this->distinct)) { |
if ($this->distinct == 1 && $this->parametres['retour.format'] == 'oss') { |
if ($this->compo_nom == '') { |
$this->requete_champ = ' DISTINCT nom_sci '; |
} else { |
$this->requete_champ = ' DISTINCT nom_sci, '.implode(', ',$this->compo_nom); |
} |
} elseif ($this->distinct == 1 && $this->parametres['retour.format'] != 'oss') { |
public function ajouterNomDistinct($distinct) { |
if (isset($distinct)) { |
if ($distinct == 1 && $this->parametres['retour.format'] == 'oss') { |
$this->distinct = ' distinct '; |
} elseif ($distinct == 1 && $this->parametres['retour.format'] != 'oss') { |
$e = 'Erreur dans votre requête </br> L\'utilisation du paramètre distinct ne se fait que sous |
le format oss'; |
$this->renvoyerErreur(RestServeur::HTTP_CODE_MAUVAISE_REQUETE, $e); |
247,7 → 271,7 |
if ( strrpos($this->format_reponse, 'noms/stats/') === false ) { |
$this->mettreAuFormat(); //Ds CommunNomsTaxons.php |
} |
$requete = ' SELECT '.$this->requete_champ. |
$requete = ' SELECT '.$this->distinct.' '.$this->requete_champ. |
' FROM '.$this->table |
.$this->retournerRequeteCondition() |
.$this->requete_group_by |