54,7 → 54,7 |
// Construction de la requête |
// Il est important de compter le nombre de taxons pour l'affichage |
$requete = (($this->distinct) ? 'SELECT DISTINCT' : 'SELECT').' COUNT(num_nom) AS nbre FROM '.$referentiel. |
$this->construireWhere($p).' '; |
$this->construireWhere($p, $referentiel).' '; |
// Récupération des résultats |
try { |
$donnees = $this->bdd->query($requete)->fetch(PDO::FETCH_ASSOC); |
87,7 → 87,7 |
// Construction de la requête |
$requete = (($this->distinct) ? 'SELECT DISTINCT' : 'SELECT').' num_nom, nom_sci, auteur, annee, '. |
'biblio_origine, nom_addendum, num_nom_retenu, presence, exclure_taxref'. |
' FROM '.$referentiel.$this->construireWhere($p). |
' FROM '.$referentiel.$this->construireWhere($p, $referentiel). |
'ORDER BY '.((!is_null($this->orderby)) ? $this->orderby : 'nom_sci ASC').' '. |
"LIMIT $this->start, $this->limit "; |
|
123,7 → 123,7 |
|
// Construction de la requête |
// Il est important de compter le nombre de taxons pour l'affichage |
$requete = 'SELECT count(DISTINCT num_nom_retenu) as nbr FROM '.$referentiel.$this->construireWhere($p).';'; |
$requete = 'SELECT count(DISTINCT num_nom_retenu) as nbr FROM '.$referentiel.$this->construireWhere($p, $referentiel).';'; |
|
// Récupération des résultats |
try { |
159,7 → 159,8 |
// Construction de la requête |
// si recherche des synonymes |
$requete = (($this->distinct) ? 'SELECT DISTINCT' : 'SELECT').' num_nom, nom_sci, auteur, annee, '. |
'biblio_origine, nom_addendum, num_nom_retenu, basionyme, synonyme_mal_applique, presence, exclure_taxref '. |
'biblio_origine, nom_addendum, num_nom_retenu, '.(($referentiel == "bdtfx") ? 'num_basionyme' : |
'basionyme').', synonyme_mal_applique, presence, exclure_taxref '. |
' FROM '.$referentiel.' WHERE num_nom_retenu IN ('.$liste_nom.') '. |
'ORDER BY nom_sci ASC '; |
try { |
233,10 → 234,10 |
'FROM '.$referentiel.' '. |
'WHERE num_tax_sup IN '. |
'(SELECT num_nom '. |
'FROM '.$referentiel.$this->construireWhere($p).') '; |
'FROM '.$referentiel.$this->construireWhere($p, $referentiel).') '; |
} else { |
$requete = 'SELECT count(distinct num_tax_sup) as nbr '. |
'FROM '.$referentiel.$this->construireWhere($p).' '; |
'FROM '.$referentiel.$this->construireWhere($p, $referentiel).' '; |
|
} |
|
243,7 → 244,7 |
} else { |
// Construction de la requête |
// Il est important de compter le nombre de taxons pour l'affichage |
$requete = 'SELECT count(DISTINCT num_nom_retenu) as nbr FROM '.$referentiel.$this->construireWhere($p).';'; |
$requete = 'SELECT count(DISTINCT num_nom_retenu) as nbr FROM '.$referentiel.$this->construireWhere($p, $referentiel).';'; |
} |
// Récupération des résultats |
try { |
287,15 → 288,15 |
'FROM '.$referentiel.' '. |
'WHERE num_tax_sup IN '. |
'(SELECT num_nom '. |
'FROM '.$referentiel.$this->construireWhere($p).') GROUP BY num_tax_sup'; |
'FROM '.$referentiel.$this->construireWhere($p, $referentiel).') GROUP BY num_tax_sup'; |
} else { |
$requete = 'SELECT count(distinct num_tax_sup) as nbr, num_tax_sup '. |
'FROM '.$referentiel.$this->construireWhere($p).' GROUP BY num_tax_sup'; |
'FROM '.$referentiel.$this->construireWhere($p, $referentiel).' GROUP BY num_tax_sup'; |
} |
} else { |
// Construction de la requête |
// Il est important de compter le nombre de taxons pour l'affichage |
$requete = 'SELECT count(DISTINCT num_nom_retenu) as nbr, num_tax_sup FROM '.$referentiel.$this->construireWhere($p).' GROUP BY num_tax_sup;'; |
$requete = 'SELECT count(DISTINCT num_nom_retenu) as nbr, num_tax_sup FROM '.$referentiel.$this->construireWhere($p, $referentiel).' GROUP BY num_tax_sup;'; |
} |
// Récupération des résultats |
try { |
339,7 → 340,7 |
$requete = (($this->distinct) ? 'SELECT DISTINCT' : 'SELECT'). |
' num_nom, nom_sci, auteur, annee, biblio_origine, nom_addendum,'. |
' num_nom_retenu, presence, exclure_taxref, num_tax_sup'. |
' FROM '.$referentiel.$this->construireWhere($p). |
' FROM '.$referentiel.$this->construireWhere($p, $referentiel). |
' ORDER BY '.((!is_null($this->orderby)) ? $this->orderby : 'nom_sci ASC'); |
|
$donnees = $this->bdd->query($requete)->fetchAll(PDO::FETCH_ASSOC); |
431,7 → 432,7 |
|
// Construction de la requête |
// si recherche des synonymes |
$requete_nom_retenu = 'SELECT DISTINCT num_nom_retenu FROM '.$referentiel.$this->construireWhere($p) |
$requete_nom_retenu = 'SELECT DISTINCT num_nom_retenu FROM '.$referentiel.$this->construireWhere($p, $referentiel) |
." ORDER BY nom_sci ASC LIMIT $this->start, $this->limit ".';'; |
try { |
$info = ''; |
541,7 → 542,7 |
return $p; |
} |
|
private function construireWhere($p) { |
private function construireWhere($p, $referentiel) { |
// Initialisation de variables |
$where = ' WHERE '; |
|
571,7 → 572,6 |
" OR notes LIKE {$p['mots']} ". |
" OR nom_addendum LIKE {$p['mots']} ". |
" OR homonyme LIKE {$p['mots']} ". |
" OR basionyme LIKE {$p['mots']} ". |
" OR synonyme_proparte LIKE {$p['mots']} ". |
" OR synonyme_douteux LIKE {$p['mots']} ". |
" OR synonyme_mal_applique LIKE {$p['mots']} ". |
584,8 → 584,8 |
" OR presence LIKE {$p['mots']} ". |
" OR statut_origine LIKE {$p['mots']} ". |
" OR statut_introduction LIKE {$p['mots']} ". |
" OR statut_culture LIKE {$p['mots']} ". |
') '; |
" OR statut_culture LIKE {$p['mots']} "; |
$where .= ($referentiel == "bdtfx") ? " OR num_basionyme LIKE {$p['mots']}) " : " OR basionyme LIKE {$p['mots']}) "; |
} |
} |
if (isset($p['sg'])) { |