Line 197... |
Line 197... |
197 |
'ORDER BY moyenne_votes';
|
197 |
'ORDER BY moyenne_votes';
|
198 |
$requeteLiaisons .= $this->gestionBdd->getLimitSql();
|
198 |
$requeteLiaisons .= $this->gestionBdd->getLimitSql();
|
Line 199... |
Line 199... |
199 |
|
199 |
|
200 |
return $this->bdd->recupererTous($requeteLiaisons);
|
200 |
return $this->bdd->recupererTous($requeteLiaisons);
|
- |
|
201 |
}
|
- |
|
202 |
|
- |
|
203 |
private function chargerLiaisons2() {
|
- |
|
204 |
$champs = array('di.id_observation as id_observation', 'nom_ret', 'nom_ret_nn', 'nt', 'famille', 'ce_zone_geo', 'zone_geo',
|
- |
|
205 |
'lieudit', 'station', 'milieu', 'date_observation', 'di.mots_cles_texte as mots_cles_texte', 'di.commentaire as commentaire',
|
- |
|
206 |
'di.mots_cles_texte as mots_cles_texte_image ', 'date_transmission', 'di.id_image as id_image', 'di.ce_utilisateur as ce_utilisateur',
|
- |
|
207 |
'prenom', 'nom', 'courriel', 'di.nom_utilisateur', 'di.prenom_utilisateur', 'di.courriel_utilisateur', 'nom_original');
|
- |
|
208 |
|
- |
|
209 |
$where = array();
|
- |
|
210 |
if(@$this->parametres['masque.protocole']) $where[] = 'ds.ce_protocole = ' . intval($this->parametres['masque.protocole']);
|
- |
|
211 |
if(@intval($this->parametres['masque.valeur_vote_min'])) $where[] = 'moyenne >= ' . intval($this->parametres['masque.valeur_vote_min']);
|
- |
|
212 |
|
- |
|
213 |
$limite = min(intval($this->parametres['navigation.limite']), 1000);
|
- |
|
214 |
$limite = $limite ? $limite : 10; // 0 => 10
|
- |
|
215 |
|
- |
|
216 |
$requeteLiaisons = sprintf(
|
- |
|
217 |
'SELECT SQL_CALC_FOUND_ROWS %s ce_protocole, moyenne, nb_votes, nb_tags'
|
- |
|
218 |
. ' FROM v_del_image di LEFT JOIN del_utilisateur du ON du.id_utilisateur = di.ce_utilisateur'
|
- |
|
219 |
. ' LEFT JOIN del_image_stat ds ON di.id_image = ds.ce_image'
|
- |
|
220 |
. ' WHERE %s GROUP BY id_image /* car plusieurs image pour obs, see PHP */ ORDER BY moyenne LIMIT %d, %d -- %s:%d',
|
- |
|
221 |
|
- |
|
222 |
implode(', ',$champs),
|
- |
|
223 |
implode(' AND ', $where),
|
- |
|
224 |
intval($this->parametres['navigation.depart']),
|
- |
|
225 |
$limite,
|
- |
|
226 |
__FILE__, __LINE__);
|
- |
|
227 |
|
- |
|
228 |
// GROUP BY (très couteux) car multiples observations associées à une image
|
- |
|
229 |
// eg: 16150,16185,16245,16246,118995,129989
|
- |
|
230 |
|
- |
|
231 |
return $this->bdd->recupererTous($requeteLiaisons);
|
Line 201... |
Line 232... |
201 |
}
|
232 |
}
|
202 |
|
233 |
|
203 |
private function doitJoindreTableVotes() {
|
234 |
private function doitJoindreTableVotes() {
|