Bonjour à tous,
Dans un formulaire, un tableau (generé en fonction du contenu de ma base) me pose un problème.
J'explique:
Si j'ai 5 lignes dans ma base, mon tableau aura 5 lignes avec pour chaque, une bouton "Archiver".
En cliquant sur ce dernier, je fais un INSERT vers une autre table, puis un DELETE.
La page est rafraichie et me raffiche le tableau avec la ligne qui a été archivé en moins.
Pour effectuer le traitement d'archivage, je recupere dans un champ de type hidden l'id de la ligne voulue.
Sauf qu'a chaque actualisation de page, mon id s'incremente de 1.
A cause de ca, c'est toujours la derniere ligne qui est archivée, quelque soit le bouton sur lequel j'appui.
Voici mon code:
Je comprends pas, si quelqu'un peut m'aider à y voir plus clair
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 <table id=saisiesAct> <tr> <th><b>COLONNE1</b></th> <th><b>COLONNE2</b></th> <th class="action"><b>Archiver?</b></th> </tr> <? // ici il y a le traitement PHP pour afficher le contenu de ma base ?> <input type="hidden" name="idVille" value="<? //je recupere l'idVille de ma base dans ce champ caché echo $row['idVille']; //je le mets en session pour l'utiliser dans mon traitement $_SESSION['ID_VILLE'] = $_POST['idVille']; ?>" id="idVille"> <tr> <td><textarea rows='5' name='Act1[]'></textarea></td> <td><textarea rows='5' name='Act2[]'></textarea></td> <td><input type="submit" name="BarchAct" value="Archiver" onclick="SupprAction($i)"></input></td> </tr> <? //$i++ car je suis dans un while... $i++; } //si clic sur Archiver, deplacement de la ligne dans la table d'archivage pour ne plus l'afficher if(isset($_POST['BarchAct'])) { if(!isset($_SESSION['is_deja_fait']) || !$_SESSION['is_deja_fait']) { $sqlCop = "INSERT INTO VilleArchive SELECT * FROM Ville WHERE id = '".$_SESSION['ID_VILLE']."'"; $sqlDel = "DELETE FROM Ville WHERE id = '".$_SESSION['ID_VILLE']."'"; $resCop = mysql_query($sqlCop); $resDel = mysql_query($sqlDel); $_SESSION['is_deja_fait']=true; echo "<meta http-equiv='refresh' content='0; URL=monFormulaire.php'>"; } } unset($_SESSION['is_deja_fait']); unset($_SESSION['ID_VILLE']); ?> </table>![]()
Partager