384,7 → 384,6 |
* @return array |
*/ |
private function getGrandsContributeurs() { |
|
$nombre = 10; // les $nombre plus importants contributeurs |
$jours = 7; // depuis $jours jours |
$critere = null; // "obs", "img" ou null (les deux) |
443,36 → 442,41 |
} |
|
private function construireRequeteGrandsContributeurs($nombre = 10, $jours = 7, $critere = null) { |
$req = ""; |
$requete = ''; |
switch ($critere) { |
case "obs": |
$req = "SELECT ce_utilisateur , prenom_utilisateur , nom_utilisateur , courriel_utilisateur , count(*) as nombreObs" . |
" FROM cel_obs" . |
" WHERE transmission = 1" . |
" AND TO_DAYS(NOW()) - TO_DAYS(date_transmission) <= $jours" . |
" GROUP BY ce_utilisateur ORDER BY nombreObs DESC LIMIT $nombre;"; |
case 'obs': |
$requete = "SELECT ce_utilisateur , prenom_utilisateur , nom_utilisateur , courriel_utilisateur , ". |
" COUNT(*) AS nombreObs ". |
"FROM cel_obs ". |
"WHERE transmission = 1 ". |
"AND TO_DAYS(NOW()) - TO_DAYS(date_transmission) <= $jours ". |
"GROUP BY ce_utilisateur ". |
"ORDER BY nombreObs DESC ". |
"LIMIT $nombre "; |
break; |
case "img": |
$req = "SELECT co.ce_utilisateur , co.prenom_utilisateur , co.nom_utilisateur , co.courriel_utilisateur , count(DISTINCT ci.id_image) as nombreImg ". |
case 'img': |
$requete = "SELECT co.ce_utilisateur , co.prenom_utilisateur , co.nom_utilisateur , ". |
" co.courriel_utilisateur , COUNT(DISTINCT ci.id_image) AS nombreImg ". |
"FROM cel_images ci ". |
"RIGHT JOIN cel_obs co ON ci.ce_observation = co.id_observation ". |
" RIGHT JOIN cel_obs co ON ci.ce_observation = co.id_observation ". |
"WHERE co.transmission = 1 ". |
"AND TO_DAYS(NOW()) - TO_DAYS(co.date_transmission) <= $jours ". |
"GROUP BY co.ce_utilisateur ORDER BY nombreImg DESC LIMIT $nombre; "; |
"GROUP BY co.ce_utilisateur ". |
"ORDER BY nombreImg DESC ". |
"LIMIT $nombre "; |
break; |
default: |
$req = "SELECT co.ce_utilisateur, co.prenom_utilisateur, co.nom_utilisateur, co.courriel_utilisateur, ". |
$requete = "SELECT co.ce_utilisateur, co.prenom_utilisateur, co.nom_utilisateur, co.courriel_utilisateur, ". |
"COUNT(DISTINCT ci.id_image) AS nombreImg, COUNT(DISTINCT co.id_observation) AS nombreObs, ". |
"COUNT(DISTINCT ci.id_image) + COUNT(DISTINCT co.id_observation) AS somme ". |
"FROM cel_images ci ". |
"RIGHT JOIN cel_obs co ON ci.ce_observation = co.id_observation ". |
" RIGHT JOIN cel_obs co ON ci.ce_observation = co.id_observation ". |
"WHERE co.transmission = 1 ". |
"AND TO_DAYS(NOW()) - TO_DAYS(co.date_transmission) <= $jours ". |
"GROUP BY co.ce_utilisateur ". |
"ORDER BY somme DESC LIMIT $nombre ; "; |
"ORDER BY somme DESC ". |
"LIMIT $nombre "; |
} |
|
return $req; |
return $requete; |
} |
} |
?> |
} |