Subversion Repositories Sites.obs-saisons.fr

Rev

Go to most recent revision | Blame | Last modification | View Log | RSS feed

<?
//Définition des points :
//Nb de semaines qui séparent les couleurs
$pasSemaines = 2;

include ("modules/connect.php");

//on regarde si une année a été postée ou pas
if ($anneeChoisie) {
  //si oui, on la prend en compte
  $annee = $_SESSION['observation']['annee'];
} else {
  //si non, on regarde l'année en cours
  $annee = date('Y');
}

  $evenement_id = $_SESSION['observation']['evenement_id'];
  $espece_id=$_SESSION['observation']['espece_id'];

//echo "ev $evenement_id, espece $espece_id, année $annee";

$req_dates = mysql_query("SELECT DATE_FORMAT(MESURE_DATE,'%d%m%Y'), STATION_ID FROM MESURE,SEQUENCE".
        " where SEQUENCE.SEQUENCE_ID=MESURE.SEQUENCE_ID and".
        " EVENEMENT_ID=$evenement_id and ESPECE_ID=$espece_id".
        " AND MESURE_DATE!='0000-00-00' and MESURE_DATE>='$annee-01-01'".
        " and MESURE_DATE<'".($annee+1)."-01-01'".
        " order by STATION_ID");
$dates = array();
$lastcommune = 0;
$nbdates = 1;
echo mysql_error();
while ($obs = mysql_fetch_row($req_dates)) {
  $jour_crt = substr($obs[0],0,2);
  $mois_crt = substr($obs[0],2,2);
  $annee_crt = substr($obs[0],4,4);
  if ($obs[1]!=$lastcommune) {
    //on calcule la moyenne pour la commune précédente :
    if ($lastcommune != 0)
      $dates[$lastcommune] = $dates[$lastcommune]/$nbdates;
    //on initialise les variables pour la nouvelle commune
    $nbdates = 1;
    $lastcommune=$obs[1];
    $dates[$lastcommune] = mktime(0,0,0,$mois_crt,$jour_crt,$annee_crt);
  } else {
    $nbdates++;
    $dates[$lastcommune] += mktime(0,0,0,$mois_crt,$jour_crt,$annee_crt);
  }
}
if (mysql_num_rows($req_dates)>0)
  $dates[$lastcommune] = $dates[$lastcommune]/$nbdates;

if (sizeof($dates)>0) {
  $dateMin = min ($dates);
  $dateMax = max ($dates);
  $nbDates = sizeof ($dates);

  foreach ($dates as $comm => $date) {
    //la date courante est égale à la date min + combien de semaines ? 
    $nbSemaines = round(($dates[$comm] - $dateMin)/604800);
    if ($nbSemaines < $nbPuces)
      $puces[$comm] = $nbSemaines;
    else
      $puces[$comm] = $nbPuces;
  }
}
else {
  $erreurs[] = "Désolé, il n'y a pas encore eu d'observations cette année pour l'évènement sélectionné ci-dessus. Choisissez un autre évènement.";
}
?>