Bonjour,
j'ai un problème dans ma page php, je veux que ma page me permet d'afficher les phases d'une mission et puis les modifier.
jusqu'à maintenant l'affichage se fait correctement mais la modification non. Par exemple j'ai 2 phases la première est modifiée avec sucées mais le deuxième reste elle même et ne se modifie pas et ça m'affiche le message d'erreur suivant "Duplicate entry for key 'PRIMARY'".
D’après ce que je sais que ce message est du à la duplication de la clé primaire donc je déduis que lors de la modification, la première phase est replacée par la première ligne et aussi il modifie la deuxième phase avec la première ligne. Je bloque depuis le matin sur ce problème merci de m'aider.
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
45
46
47
48
49
50
51
52
53
54
55
56
57 <?php include("connexion.php"); $req="Select * from phases where nom_miss='$nom_miss'"; $rs=mysql_query($req); echo '<form name="form" method="POST"> <table class="table table-hover" border=1> <tr> <th> Nom de la phase </th> <th> Date de debut </th> <th> Date de fin </th> <th> Avancement </th> </tr>'; $i=1; while ($ligne=mysql_fetch_array($rs)) { $nom_phase=$ligne[0]; $date_debut=$ligne[1]; $date_fin=$ligne[2]; $pourcentage=$ligne[3]; echo $i; echo '<tr> <td><input type="text" name="nom_phase'.$i.'" value="'.$nom_phase.'"></td> <td><input type="date" name="date_debut'.$i.'" value="'.$date_debut.'"></td> <td><input type="date" name="date_fin'.$i.'" value="'.$date_fin.'" ></td> <td><input type="text" name="pourcentage'.$i.'" value="'.$pourcentage.'"></td> </tr>'; $i++; $_SESSION['ct']=$i-1; } echo ('ct :'.$_SESSION['ct']); echo ($_POST["nom_phase2"]); echo '<div class="col-lg-5"> <button type="submit" class="btn btn-primary btn-lg btn-block" name="Modifier" value="Modifier">Valider les modifications</button> </div>'; if(isset($_POST["Modifier"])) { $ct1=$_SESSION['ct']; for($j=1;$j<=$ct1;$j++) { $nom_phase1=$_POST["nom_phase$j"]; $date_debut1=$_POST["date_debut$j"]; $date_fin1=$_POST["date_fin$j"]; $pourcentage1=$_POST["pourcentage$j"]; $req1="UPDATE phases SET nom_phase='$nom_phase1', date_debut='$date_debut1', date_fin='$date_fin1', pourcentage='$pourcentage1' where nom_miss='$nom_miss'"; mysql_query($req1) or exit (mysql_error()); ?>
Partager