Line 110... |
Line 110... |
110 |
}
|
110 |
}
|
Line 111... |
Line 111... |
111 |
|
111 |
|
112 |
/* Méthode pour récupérer les infos sur les parents d'un taxon hybride sélectionné
|
112 |
/* Méthode pour récupérer les infos sur les parents d'un taxon hybride sélectionné
|
113 |
* Appelée avec les paramètres d'url suivant : /ParentsHybride/ref/num_nom */
|
113 |
* Appelée avec les paramètres d'url suivant : /ParentsHybride/ref/num_nom */
|
- |
|
114 |
public function getElementParentsHybride($ref, $num_nom) {
|
- |
|
115 |
$requete = "";
|
- |
|
116 |
$requete_parents = "SELECT hybride_parent_01, hybride_parent_02 FROM {$ref} WHERE num_nom = {$num_nom};";
|
- |
|
117 |
$parents = $this->bdd->query($requete_parents)->fetchAll(PDO::FETCH_ASSOC);
|
114 |
public function getElementParentsHybride($ref, $num_nom) {
|
118 |
if ($parents[0]['hybride_parent_01'] != '' && $parents[0]['hybride_parent_02'] != '') {
|
115 |
$requete = "SELECT p1.num_nom AS p1_num, p1.nom_sci AS p1_nom, p1.auteur AS p1_auteur, p1.annee AS p1_annee,
|
119 |
$requete = "SELECT p1.num_nom AS p1_num, p1.nom_sci AS p1_nom, p1.auteur AS p1_auteur, p1.annee AS p1_annee,
|
116 |
p1.biblio_origine AS p1_bib, p1.nom_addendum AS p1_nom_add, p1.num_nom AS p1_num_retenu,
|
120 |
p1.biblio_origine AS p1_bib, p1.nom_addendum AS p1_nom_add, p1.num_nom AS p1_num_retenu,
|
117 |
p2.num_nom AS p2_num, p2.nom_sci AS p2_nom, p2.auteur AS p2_auteur, p2.annee AS p2_annee,
|
121 |
p2.num_nom AS p2_num, p2.nom_sci AS p2_nom, p2.auteur AS p2_auteur, p2.annee AS p2_annee,
|
118 |
p2.biblio_origine AS p2_bib, p2.nom_addendum AS p2_nom_add, p2.num_nom AS p2_num_retenu ".
|
122 |
p2.biblio_origine AS p2_bib, p2.nom_addendum AS p2_nom_add, p2.num_nom AS p2_num_retenu ".
|
119 |
" FROM {$ref} p1, {$ref} p2, {$ref} h ".
|
123 |
" FROM {$ref} p1, {$ref} p2, {$ref} h ".
|
- |
|
124 |
" WHERE p1.num_nom = h.hybride_parent_01 AND p2.num_nom = h.hybride_parent_02 AND h.num_nom = {$num_nom};";
|
- |
|
125 |
} elseif ($parents[0]['hybride_parent_01'] != '' && $parents[0]['hybride_parent_02'] == '') {
|
- |
|
126 |
$requete = "SELECT p1.num_nom AS p1_num, p1.nom_sci AS p1_nom, p1.auteur AS p1_auteur, p1.annee AS p1_annee,
|
- |
|
127 |
p1.biblio_origine AS p1_bib, p1.nom_addendum AS p1_nom_add, p1.num_nom AS p1_num_retenu ".
|
- |
|
128 |
" FROM {$ref} p1, {$ref} p2, {$ref} h ".
|
- |
|
129 |
" WHERE p1.num_nom = h.hybride_parent_01 AND h.num_nom = {$num_nom};";
|
- |
|
130 |
} elseif ($parents[0]['hybride_parent_01'] == '' && $parents[0]['hybride_parent_02'] != '') {
|
- |
|
131 |
$requete = "SELECT p2.num_nom AS p2_num, p2.nom_sci AS p2_nom, p2.auteur AS p2_auteur, p2.annee AS p2_annee,
|
- |
|
132 |
p2.biblio_origine AS p2_bib, p2.nom_addendum AS p2_nom_add, p2.num_nom AS p2_num_retenu ".
|
- |
|
133 |
" FROM {$ref} p1, {$ref} p2, {$ref} h ".
|
- |
|
134 |
" WHERE p2.num_nom = h.hybride_parent_02 AND h.num_nom = {$num_nom};";
|
120 |
" WHERE p1.num_nom = h.hybride_parent_01 AND p2.num_nom = h.hybride_parent_02 AND h.num_nom = {$num_nom};";
|
135 |
}
|
Line 121... |
Line 136... |
121 |
$donnees = array();
|
136 |
$donnees = array();
|
122 |
|
137 |
|
123 |
// Récupération des résultats
|
138 |
// Récupération des résultats
|
Line 145... |
Line 160... |
145 |
." biblio_origine, nom_addendum FROM {$ref} WHERE num_nom = {$taxonSuperieur};";
|
160 |
." biblio_origine, nom_addendum FROM {$ref} WHERE num_nom = {$taxonSuperieur};";
|
Line 146... |
Line 161... |
146 |
|
161 |
|
147 |
// Récupération des résultats
|
162 |
// Récupération des résultats
|
148 |
try {
|
163 |
try {
|
149 |
$donnees = $this->bdd->query($requete)->fetchAll(PDO::FETCH_ASSOC);
|
164 |
$donnees = $this->bdd->query($requete)->fetchAll(PDO::FETCH_ASSOC);
|
150 |
if ($donnees === array()) {
|
165 |
if ($donnees === array() || isset($info[$donnees[0]['num_nom']])) {
|
151 |
$taxonSuperieur = null;
|
166 |
$taxonSuperieur = null;
|
152 |
} else {
|
167 |
} else {
|
153 |
$taxonSuperieur = $donnees[0]['num_tax_sup'];
|
168 |
$taxonSuperieur = $donnees[0]['num_tax_sup'];
|
154 |
$info[$donnees[0]['num_nom']] = $donnees[0];
|
169 |
$info[$donnees[0]['num_nom']] = $donnees[0];
|
Line 167... |
Line 182... |
167 |
'WHERE num_tax_sup = '.$num_nom.";";
|
182 |
'WHERE num_tax_sup = '.$num_nom.";";
|
168 |
// Récupération des résultats
|
183 |
// Récupération des résultats
|
169 |
try {
|
184 |
try {
|
170 |
$donnees = $this->bdd->query($requete)->fetchAll(PDO::FETCH_ASSOC);
|
185 |
$donnees = $this->bdd->query($requete)->fetchAll(PDO::FETCH_ASSOC);
|
171 |
if ($donnees === array()) {
|
186 |
if ($donnees === array()) {
|
- |
|
187 |
} elseif (isset($niveau) && $niveau >= 6) {
|
- |
|
188 |
if ((isset($this->resultat['niveau']) && $niveau > $this->resultat['niveau']) || !isset($this->resultat['niveau'])) {
|
- |
|
189 |
$this->resultat['niveau'] = $niveau;
|
- |
|
190 |
}
|
- |
|
191 |
foreach ($donnees as $donnee) {
|
- |
|
192 |
$this->resultat['inf'][$donnee['num_nom']] = $donnee;
|
- |
|
193 |
$this->resultat['inf'][$donnee['num_nom']]['niveau'] = $niveau;
|
- |
|
194 |
}
|
- |
|
195 |
} elseif (count($donnees) >= 100 ||
|
- |
|
196 |
(isset($this->resultat['inf']) && count($this->resultat['inf'])+count($donnees) >= 100)) {
|
- |
|
197 |
if ((isset($this->resultat['niveau']) && $niveau > $this->resultat['niveau']) || !isset($this->resultat['niveau'])) {
|
- |
|
198 |
$this->resultat['niveau'] = $niveau;
|
- |
|
199 |
}
|
- |
|
200 |
foreach ($donnees as $donnee) {
|
- |
|
201 |
$this->resultat['inf'][$donnee['num_nom']] = $donnee;
|
- |
|
202 |
$this->resultat['inf'][$donnee['num_nom']]['niveau'] = $niveau;
|
- |
|
203 |
}
|
172 |
} else {
|
204 |
} else {
|
173 |
if ((isset($this->resultat['niveau']) && $niveau > $this->resultat['niveau']) || !isset($this->resultat['niveau'])) {
|
205 |
if ((isset($this->resultat['niveau']) && $niveau > $this->resultat['niveau']) || !isset($this->resultat['niveau'])) {
|
174 |
$this->resultat['niveau'] = $niveau;
|
206 |
$this->resultat['niveau'] = $niveau;
|
175 |
}
|
207 |
}
|
176 |
$niveau ++;
|
208 |
$niveau ++;
|