199,6 → 199,37 |
|
return $this->bdd->recupererTous($requeteLiaisons); |
} |
|
private function chargerLiaisons2() { |
$champs = array('di.id_observation as id_observation', 'nom_ret', 'nom_ret_nn', 'nt', 'famille', 'ce_zone_geo', 'zone_geo', |
'lieudit', 'station', 'milieu', 'date_observation', 'di.mots_cles_texte as mots_cles_texte', 'di.commentaire as commentaire', |
'di.mots_cles_texte as mots_cles_texte_image ', 'date_transmission', 'di.id_image as id_image', 'di.ce_utilisateur as ce_utilisateur', |
'prenom', 'nom', 'courriel', 'di.nom_utilisateur', 'di.prenom_utilisateur', 'di.courriel_utilisateur', 'nom_original'); |
|
$where = array(); |
if(@$this->parametres['masque.protocole']) $where[] = 'ds.ce_protocole = ' . intval($this->parametres['masque.protocole']); |
if(@intval($this->parametres['masque.valeur_vote_min'])) $where[] = 'moyenne >= ' . intval($this->parametres['masque.valeur_vote_min']); |
|
$limite = min(intval($this->parametres['navigation.limite']), 1000); |
$limite = $limite ? $limite : 10; // 0 => 10 |
|
$requeteLiaisons = sprintf( |
'SELECT SQL_CALC_FOUND_ROWS %s ce_protocole, moyenne, nb_votes, nb_tags' |
. ' FROM v_del_image di LEFT JOIN del_utilisateur du ON du.id_utilisateur = di.ce_utilisateur' |
. ' LEFT JOIN del_image_stat ds ON di.id_image = ds.ce_image' |
. ' WHERE %s GROUP BY id_image /* car plusieurs image pour obs, see PHP */ ORDER BY moyenne LIMIT %d, %d -- %s:%d', |
|
implode(', ',$champs), |
implode(' AND ', $where), |
intval($this->parametres['navigation.depart']), |
$limite, |
__FILE__, __LINE__); |
|
// GROUP BY (très couteux) car multiples observations associées à une image |
// eg: 16150,16185,16245,16246,118995,129989 |
|
return $this->bdd->recupererTous($requeteLiaisons); |
} |
|
private function doitJoindreTableVotes() { |
return ($this->tri == 'votes'); |