Rev 1 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
<?$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 formuif (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 - 2)."-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 - 2)."-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><? } ?>