New file |
0,0 → 1,170 |
<? |
$evenements = $_POST['evenements']; |
|
//annee en cours |
$anneeEnCours = date('Y'); |
|
if (sizeof($evenements)>0) { |
|
$nbCases = 0; |
$nbDatesNulles = 0; |
foreach ($evenements as $numind => $individu) { |
if (is_array($individu)) { |
foreach ($individu as $numev => $datev) { |
//foreach ($evenements as $numev => $datev) { |
if (is_numeric($numev)) { |
if (!estDate($datev[0],$datev[1],$datev[2]) && !estDateEnAttente($datev[0],$datev[1],$datev[2])) |
$erreurs[0] = "Certains évènements n'ont pas de date correcte."; |
else if (estDateEnAttente($datev[0],$datev[1],$datev[2])) |
$nbsDatesNulles++; |
$nbCases++; |
} |
} |
} |
} |
/* if ($nbCases == $nbsDatesNulles) |
$erreurs[] = "Il faut entrer au moins une date."; |
*/} |
|
//on traite le formu |
if (isset($_POST['valid_modif']) && sizeof($erreurs)==0) { |
|
foreach ($evenements as $numind => $individu) { |
if (is_array($individu)) { |
foreach ($individu as $numev => $datev) { |
if (is_numeric($numev)) { |
//doit-on mettre à jour une date ou en ajouter une une ? |
$requete_verif = mysql_query("select MESURE_ID from MESURE where SEQUENCE_ID=".$_POST['sequence_id']." and EVENEMENT_ID=".$numind." and MESURE_INDIVIDU=$numev". |
" AND MESURE_DATE!='0000-00-00' and MESURE_DATE>'".($anneeEnCours)."-01-01'". |
" and MESURE_DATE<'".($anneeEnCours+1)."-01-01'"); |
if ($verif = mysql_fetch_row($requete_verif)) { |
//une obs à cette date pour cet individu existait déjà |
if (estDate($datev[0],$datev[1],$datev[2])) { |
//Cas de la maj |
$requete_insert = "update MESURE set MESURE_DATE='".$datev[2]."-".$datev[1]."-".$datev[0]."' where MESURE_ID=".$verif[0]; |
} else if (estDateEnAttente($datev[0],$datev[1],$datev[2])) { |
//Cas de la suppr |
$requete_insert = "delete from MESURE where MESURE_ID=".$verif[0]; |
} |
} |
else if (estDate($datev[0],$datev[1],$datev[2])) { |
//cas de l'insertion |
$requete_insert = "insert into MESURE (SEQUENCE_ID, EVENEMENT_ID, MESURE_DATE, MESURE_INDIVIDU) values (".$_POST['sequence_id'].", $numind, '".$datev[2]."-".$datev[1]."-".$datev[0]."', $numev)"; |
} |
|
if ($requete_insert && !mysql_query($requete_insert)) |
$erreurs[] = "La prise en compte de vos observations échoué, merci de réessayer."; |
else if ($nbCases==$nbsDatesNulles) { |
$requete_suppr = "delete from SEQUENCE where SEQUENCE_ID=".$_POST['sequence_id']; |
if (!mysql_query($requete_suppr)) |
$erreurs[] = "Vos observations ont bien été supprimées mais il reste un problème."; |
} |
unset($requete_insert); |
} |
} |
} |
} |
if (sizeof($erreurs)==0) { |
$_SESSION['obsOK'] = 'ok'; |
|
// FIXME : ne fonctionne pas car des headers ont deja été envoyés, mais ou ? |
//header("Location: article.php3?id_article=2"); |
redirect("article.php3?id_article=2"); |
} |
afficherErreurs($erreurs); |
|
} |
|
else { |
afficherErreurs($erreurs); |
|
//on récupère les évènements observables sur l'espèce choisie |
$requete_ev_txt = "select distinct ESPECE_EVENEMENT.EVENEMENT_ID, EVENEMENT_NOM FROM ESPECE_EVENEMENT, ESPECE, EVENEMENT, SEQUENCE where ESPECE_EVENEMENT.EVENEMENT_ID=EVENEMENT.EVENEMENT_ID and ESPECE_EVENEMENT.ESPECE_ID=ESPECE.ESPECE_ID and SEQUENCE.ESPECE_ID=ESPECE.ESPECE_ID and SEQUENCE_ID=$numseq and EVENEMENT_ACTIVE=1 order by EVENEMENT_ID"; |
|
$requete_ev = mysql_query($requete_ev_txt); |
|
//on récupère les évènements déjà observés sur cette espèce |
$requete_obs_annee = mysql_query("select MESURE_ID, EVENEMENT.EVENEMENT_ID, EVENEMENT_NOM, DATE_FORMAT(MESURE_DATE,'%d/%m/%Y'), MESURE_INDIVIDU from MESURE,EVENEMENT ". |
"where EVENEMENT.EVENEMENT_ID=MESURE.EVENEMENT_ID". |
" and MESURE.SEQUENCE_ID=$numseq". |
" AND MESURE_DATE!='0000-00-00' and MESURE_DATE>'".($anneeEnCours)."-01-01'". |
" and MESURE_DATE<'".($anneeEnCours+1)."-01-01'". |
" order by EVENEMENT.EVENEMENT_ID, MESURE_INDIVIDU"); |
|
while ($obs_annee = mysql_fetch_row($requete_obs_annee)) { |
$observations[$obs_annee[1]][$obs_annee[4]] = $obs_annee; |
} |
|
?> |
<form name="form_modif" method="post" action="<?= $url_page ?>"> |
|
<table class="spip"> |
<tr class="row_even" style="font-weight: bold; font-size: 11px;"> |
<td>Evènement</td> |
<td>1er individu</td> |
<td>2ème individu</td> |
<td>3ème individu</td> |
<td>4ème individu</td> |
<td>5ème individu</td> |
</tr> |
Pour chaque évènement entrez la date moyenne d'observation :<br><br> |
<? |
$numligne=0; |
$lignes = array("odd","even"); |
while ($ev = mysql_fetch_row($requete_ev)) { |
?> |
<tr class="row_<?= $lignes[$numligne] ?>"><td><?= $ev[1] ?></td> |
<? |
|
for ($i=0; $i<5; $i++) { |
//valeurs par défaut, çàd si l'évènement n'a pas été observé |
$jour ='jj'; |
$mois = 'mm'; |
$annee = $anneeEnCours; |
$obs_courante = ""; |
|
if (is_array($observations[$ev[0]][$i+1])) |
//cet individu a été observé |
$obs_courante = $observations[$ev[0]][$i+1]; |
|
|
if (strlen($obs_courante[3])>0) { |
$jour = substr($obs_courante[3],0,2); |
$mois = substr($obs_courante[3],3,2); |
$annee = substr($obs_courante[3],6,4); |
} |
|
if (isset($_POST['evenements'][$ev[0]][$i+1][0])) { |
$jour = $_POST['evenements'][$ev[0]][$i+1][0]; |
} |
if (isset($_POST['evenements'][$ev[0]][$i+1][1])) { |
$mois = $_POST['evenements'][$ev[0]][$i+1][1]; |
} |
if (isset($_POST['evenements'][$ev[0]][$i+1][2])) { |
$annee = $_POST['evenements'][$ev[0]][$i+1][2]; |
} |
|
?> |
<td> |
<input type="text" name="evenements[<?= $ev[0] ?>][<?= $i+1 ?>][0]" size="2" value="<?= $jour ?>"> |
<input type="text" name="evenements[<?= $ev[0] ?>][<?= $i+1 ?>][1]" size="2" value="<?= $mois ?>"> |
<input type="text" name="evenements[<?= $ev[0] ?>][<?= $i+1 ?>][2]" size="4" value="<?= $annee ?>"> |
</td> |
|
<? |
} |
$numligne++; |
if ($numligne==2) |
$numligne = 0; |
echo "</tr>"; |
} |
?> |
</table> |
<input type="hidden" name="sequence_id" value="<?= $numseq ?>"> |
<input type="submit" class="submit" name="valid_modif" value="Valider"> |
<input type="hidden" name="etape" value="1"> |
</form> |
<form name="retour" method="post" action"<?= $url_page ?>"> |
<input type="submit" class="submit" name="annul_modif" value="Annuler"> |
</form> |
<? } ?> |