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)
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 <?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ésent</option> <option>Congès Annuels</option> <option>Congès Exceptionnel</option> <option>Mission</option> <option>Récupé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 à jour" name="maj"> </form>
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
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éjà enregistrer!<br />'); echo('Si vous souhaitez écraser le contenu précé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 à bien été prise en charge pour les ".$indice." agent "; } } } else echo "Merci de bien remplir le formulaire"; ?>
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.
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 à jour effectué<br>"; } else echo "La mise à jour à rencontré un problème<br>"; ?>
J'espère avoir été assez clair
Merci d'avance
Partager