Bonjour,

Actuellement j'ai un soucis avec la mise à jour, quand je veux effectuer une mise à jour, ça change tt le contenu de ma BDD :/
C'est un petit code qui me permet une gestion de présence journalière.


Code accueil.php (formulaire d'ajout/update)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?php
$query_users = "SELECT * FROM utilisateurs,agent WHERE utilisateurs.nservice = '1' AND agent.nservice = '1'"; // Tri la table agent sur le champs Nservice
$users = mysql_query($query_users, $dbprotect) or die(mysql_error());
$indice = 0;
?>
<form action="crea.php" method="post">
Entrez la Date <input type="button" value="Calendrier" onClick="displayCalendar(document.forms[0].date,'yyyy/mm/dd',this)">
 <input readonly type="text" name="date" value="">
<?php
 
    while( $result = mysql_fetch_object( $users ) )
    {
?>
<table width="495" border="1">
  <tr>
    <td>Agent:</td>
    <td><input type="text" size="20" name="agent<?php echo $indice;?>" value="<?php echo ($result->nom);?> <?php echo ($result->prenom);?>"> <select name="etat<?php echo $indice;?>">
<option>Pr&eacute;sent</option>
<option>Cong&egrave;s Annuels</option>
<option>Cong&egrave;s Exceptionnel</option>
<option>Mission</option>
<option>R&eacute;cup&eacute;ration</option>
</select></td>
 </tr>
<input type="hidden" name="nchrono<?php echo $indice;?>" value="<?php echo ($result->nchrono);?>">
<input type="hidden" name="login<?php echo $indice;?>" value="<?php echo ($result->login);?>">
<input type="hidden" name="lservice<?php echo $indice;?>" value="<?php echo ($result->lservice);?>">
<?php
$indice++;
}
?>
<input type="hidden" name="numIndice" value="<?php echo $indice;?>"/>
</table>
<input type="submit" value="valider" name="valider">
<input type="submit" value="Mise &agrave; jour" name="maj">
</form>
crea.php (ajout du contenu de mon formulaire dans ma bdd)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<?php
    if(isset($_POST['valider']))
{
 
		$indice = $_POST['numIndice'];
		$valider = $_POST['valider'];
		$date = $_POST['date'];
 
			function user_exists($date)
			{
				$sql = 'SELECT `date` FROM presence_informatique WHERE date = \'' . addslashes($date) . '\' LIMIT 1';
				$res = mysql_query($sql) or die ($sql.'<br />'.mysql_error());
				return (mysql_num_rows($res) == 1);
			}
 
 
			if (user_exists($date))
			{
				echo('La date que vous avez saisie est d&eacute;j&agrave; enregistrer!<br />');
				echo('Si vous souhaitez &eacute;craser le contenu pr&eacute;c&eacute;dent veuillez cliquer sur le lien "<a href="update.php">suivant</a>"<br />');
			}
			else
			{
					if ( $indice > 0 ) {
						for ( $i=0; $i < $indice; $i++ )
					{
						$lservice=$_POST['lservice'.$i];
						$agent=$_POST['agent'.$i];
						$nchrono=$_POST['nchrono'.$i];
						$etat=$_POST['etat'.$i];
						$login=$_POST['login'.$i];
 
						$requete ="INSERT INTO presence_informatique (id,lservice,date,agent,nchrono,etat,login) values ('','$lservice','$date','$agent','$nchrono','$etat','$login')";
 
						mysql_query($requete);
					}
				mysql_close();
				echo "La date &agrave; bien &eacute;t&eacute; prise en charge pour les ".$indice." agent ";
			}
		}
}
else
echo "Merci de bien remplir le formulaire";
?>
Code d'update
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?php
    if(isset($_POST['maj']))
{
 
		$indice = $_POST['numIndice'];
		$valider = $_POST['valider'];
		$date = $_POST['date'];
 
  					if ( $indice > 0 ) {
						for ( $i=0; $i < $indice; $i++ )
					{
						$lservice=$_POST['lservice'.$i];
						$agent=$_POST['agent'.$i];
						$nchrono=$_POST['nchrono'.$i];
						$etat=$_POST['etat'.$i];
						$login=$_POST['login'.$i];
						$requete ="UPDATE presence_informatique SET 
													date='$date',
													lservice='$lservice',
													agent='$agent',
													nchrono='$nchrono',
													etat='$etat',
													login='$login'";
						mysql_query($requete);
					}
										}
						echo "Mise &agrave; jour effectu&eacute;<br>";
 
}
else
echo "La mise &agrave jour &agrave; rencontr&eacute un probl&egrave;me<br>";
?>
En faite quand je fais une mise à jour çà remplace tte ma bdd. J'aimerai tout simplement que quand on clic sur le bouton Mise à jour du formulaire ça fait une mise à jour que de la date voulu.


J'espère avoir été assez clair
Merci d'avance