Bonjour à tous,
Sur une page de mon site, j'affiche un suivi pour l'utilisateur via lequel il peut ajouter une valeur (POI) si celle-ci n'est pas déjà présente.
Cet ajout se fait via une fenêtre modale de la même page.
L'affichage de la modale se passe bien et l'insertion dans la BDD également, mais le problème se trouve plutôt ou niveau de la référence de la ligne (num_etude).
En effet j'affiche en mode Readonly la valeur de la ligne sélectionné dans mon formulaire et je laisse l'utilisateur saisir la valeur (POI).
A l'affichage la référence de la ligne correspond toujours à la 1ère ligne de la page par contre dans le code généré je retrouve la bonne valeur.
=> Seulement lors de l'ajout dans la bdd, il prend la valeur affiché et donc la mauvaise.
Fichier principale
Code CSS
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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97 <!-- Affichage des etudes en cours --> <?php for ($nbligne=1;$nbligne <=7; $nbligne++) { if ($nbligne == 1) { $resultat = $req_simple; $title = "Etude Simple";} ... ... ... $nb = $resultat->rowcount(); if ($nb !=0) { ?> <fieldset> <legend> <?php echo $title ?> </legend> <table> <tr> ..... </tr> <?php while ($donnees = $resultat ->fetch()) { ?> <tr> <td class="small1"><?php echo $donnees['num_etude'];?> </td> <td class="small"><?php echo $donnees['type_etude'];?> </td> <td><?php echo $donnees['nom_client'];?> </td> <td><?php echo $donnees['ville_client'];?> </td> <td class="small"><?php echo $donnees['zone_etude'];?> </td> <td><?php echo $donnees['demand_client'];?> </td> <?php $date1 = new DateTime($donnees['arriv_etude']); $date2 = new Datetime(Date('Y-m-d')); $diff = $date1->diff($date2); if (($diff->days) >= 14) { ?> <td class="medium_red"><?php echo date('d-m-Y', strtotime($donnees['arriv_etude']));?> </td> <?php } else { ?> <td class="small"><?php echo date('d-m-Y', strtotime($donnees['arriv_etude']));?> </td> <?php } if ($donnees['ui_etude'] == "") { ?> <td class="medium_gray"> <div> <label class="button" for="modalCheck">Ajout</label><input type="checkbox" id="modalCheck" /> <div class="modalLayer"> <div class="popup_block"> <label for="modalCheck"> <img alt="Fermer" title="Fermer la fenêtre" class="btn_close" src="./modal/close_pop.png"></a> <form method="post" action="pilotage.php"> <Fieldset> <legend> Ajout POI </legend> <label for="num_etude"> Reference etude </label/> <input type="text" name="num_etude" option value="<?php echo $donnees['num_etude'];?>" readonly /> <br /> <label for="num_poi"> N° POI</label> <input type="text" name="num_poi" autoFocus /> <br/> <input type="submit" name="valid" value="valider" /> </fieldset> <form> </div> </div> </div> </td> <?php } else { ?> <td class="medium"><?php echo $donnees['ui_etude'];?> </td> <?php } ?> <td class="small"> <form method="post" action="pilotage.php" style="margin-bottom: 0"> <input type="hidden" name="lien_hidden" value="<?php echo $donnees['num_etude'];?>" /> <input type="submit" name="valid_etude" value="valider"/> </form> </td> <td class="large"><?php echo $donnees['num_etude'] ?> </td> </tr> <?php } ?> </table> </fieldset> <br /> <?php } } ?> </body> </html>
Exemple code généré :
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 #modalCheck{ display: none; } .modalLayer{ display: none; position: fixed; top: 0; bottom: 0; left: 0; right: 0; background-color: rgba(0, 0, 0, 0.5); } #modalCheck:checked + .modalLayer, #modalContent:target{ display: block; } .popup_block{ background: #fff; padding: 20px; border: 20px solid #ddd; position: relative; margin: 10% auto; width: 40%; box-shadow: 0px 0px 20px #000; border-radius: 10px; } img.btn_close { float: right; margin: -55px -55px 0 0; cursor: pointer; } .button{ cursor: pointer; color: blue; text-decoration: underline; } .checkbox:checked{ box-shadow: 0 0 10px 2px gold; }
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 <div> <label class="button" for="modalCheck">Ajout</label> <input id="modalCheck" type="checkbox"> <div class="modalLayer"> <div class="popup_block"> <label for="modalCheck"> <img class="btn_close" src="./modal/close_pop.png" title="Fermer la fenêtre" alt="Fermer"> <form action="pilotage.php" method="post"> <fieldset> <legend> Ajout POI </legend> <label for="num_etude"> Reference etude </label> <input type="text" readonly="" value="124597" option="" name="num_etude"> <br> <label for="num_poi"> N° POI</label> <input type="text" autofocus="" name="num_poi"> <br> <input type="submit" value="valider" name="valid"> </fieldset> </form> </label> </div> </div> </div>Par contre j'ai essayé, en laissant l'utilisateur saisir et la ça fonctionne.Dans l'exemple, le code généré est bon, mais à l'affichage il m'affiche la 1ère ligne de ma page
Merci d'avance pour votre aide
Partager