Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 2448 → Rev 2449

/trunk/jrest/services/CelStatistiqueTxt.php
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;
}
}
?>
}