Bonjour,
Je monte des formulaires pour que des utilisateurs puissent entrer des données et les visualiser.
Je rencontre un problème pour faire l’update de données dans ma base, il s’agit de champs dynamiques générés à l’aide de Javascript.
Lors de la connexion, je vérifie s’il y a du contenu dans la base :
Si NON = formulaire d’INSERT
Si OUI = Formulaire d’UPDATE
Pour l’insertion, tout est OK, voici comment les champs sont générés et insérés dans la base (formulaire INSERT):
Je comptais m'y prendre de la même manière pour faire des modifications (formulaire 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 <? if (isset($_POST['nbreLigneAct'])) { //boucle pour generer les nouvelles lignes (nbreLigneAct) for ($i=0;$i<$_POST['nbreLigneAct'];$i++) { ?> <tr> <td class="action"><textarea rows='5' cols="25" name='ActAct<? echo ($i+2);?>'><? $nomAct="ActAct".($i+2); if(!empty($_POST[$nomAct])) echo $_POST[$nomAct]; ?></textarea></td> <td class="action"><textarea rows='5' cols="15" name='ActObj<? echo ($i+2);?>'><? $nomObj="ActObj".($i+2); if(!empty($_POST[$nomObj])) echo $_POST[$nomObj]; ?></textarea></td> </tr> <? } //insert champs generes for ($i=1;$i<$_POST['nbreLigneAct'];$i++) { mysql_query(" INSERT INTO indicaperf.action_has_tdb (`idTdb`,`Action`,`Objectif`) VALUES('$dernierEnr','".$_POST['ActAct'.($i+1)]."', '".$_POST['ActObj'.($i+1)]."')"); } ?>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <? //update champs generes for ($i=1;$i<$_POST['nbreLigneAct'];$i++) { mysql_query(" UPDATE indicaperf.action_has_tdb SET `Action` = '".$_POST['ActAct'.($i+1)]."', `Objectif` = '".$_POST['ActObj'.($i+1)]."' WHERE `idTdb` =". $dernierEnr) } ?>
Sauf que, ce sont toutes mes lignes générées qui prennent la valeur de ma modification.
Exemple:
Ligne 1 = 1
Ligne 2 = 2
Ligne 3 = 3
Si je modifie Ligne 1 = 5 et que je valide mon formulaire:
Ligne 1 = 5
Ligne 2 = 5
Ligne 3 = 5
Merci d'avance à celui qui saurait me mettre sur la bonne piste.![]()
Partager