Bonjour,
Je ne suis pas sure de demander quelque chose de possible, à la vue des réponses de Google mais je tente ma chance ici.
J'ai un formulaire qui permet d'ajouter un projet. Pas de problème d'insertion, etc... Ce formulaire comporte une partie "demande" qui permet de demander des ressources (des jours/hommes d'une équipe).
Il à cette tête là :
Bon, selon que la case "demande" est cochée, il apparaît mais mon problème n'est pas là.
Au clic sur "ajouter une équipe", j'aimerais qu'une ligne, identique à la première, se rajoute à la suite de mon tableau. Bon, quand c'est que des champs simples, ça va, j'arrive à me débrouiller mais là, ma liste déroulante est remplie grâce aux infos de la BDD (Postgre) et donc, avec PHP.
J'ai créer une fonction qui affiche ma liste déroulante remplie, histoire d'alléger la fonction javascript mais voilà, ça reste du PHP serveur, dans du javascript client... Je sais.
Voilà, ce que je demande, c'est quelque chose qui pourrait me faire le même traitement (ou alors, la bonne méthode tout simplement).
Place au code
HTML+Javascript
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 function create_champ(i) { var i2 = i + 1; var champs = '<table><tr><td><select name="role'+i+'"><option> </option><option>C</option><option>P</option></select></td>'+ '<td><?php affich_equip(equip'+i')?></td>'+ '<td><input type="text" style="width:25px" name="01'+i+'"></td>'+ '<td><input type="text" style="width:25px" name="02'+i+'"></td>'+ '<td><input type="text" style="width:25px" name="03'+i+'"></td>'+ '<td><input type="text" style="width:25px" name="04'+i+'"></td>'+ '<td><input type="text" style="width:25px" name="05'+i+'"></td>'+ '<td><input type="text" style="width:25px" name="06'+i+'"></td>'+ '<td><input type="text" style="width:25px" name="07'+i+'"></td>'+ '<td><input type="text" style="width:25px" name="08'+i+'"></td>'+ '<td><input type="text" style="width:25px" name="09'+i+'"></td>'+ '<td><input type="text" style="width:25px" name="10'+i+'"></td>'+ '<td><input type="text" style="width:25px" name="11'+i+'"></td>'+ '<td><input type="text" style="width:25px" name="12'+i+'"></td>'+ '</tr></table>'; document.getElementById('leschamps_'+i).innerHTML = champs; document.getElementById('leschamps_'+i).innerHTML += (i <= 10) ? '<br /><span id="leschamps_'+i2+'"><a href="javascript:create_champ('+i2+')">Ajouter</a></span>' : ''; }
Code html : 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 <label for="nom">Nom du demandeur :</label><input type="text" id="nom" style="width:300px" value="<?php echo $_SESSION['login']; ?>"><br /> <br/> <table> <tr> <th>Rôle</th> <th>Equipe</th> <th>Jan</th> <th>Fév</th> <th>Mar</th> <th>Avr</th> <th>Mai</th> <th>Juin</th> <th>Juil</th> <th>Août</th> <th>Sept</th> <th>Oct</th> <th>Nov</th> <th>Déc</th> </tr> <tr> <td><select name="role"><option> </option><option>C</option><option>P</option></select></td> <td><?php affich_equip(equip)?></td> <td><input type="text" style="width:25px" name="01"></td> <td><input type="text" style="width:25px" name="02"></td> <td><input type="text" style="width:25px" name="03"></td> <td><input type="text" style="width:25px" name="04"></td> <td><input type="text" style="width:25px" name="05"></td> <td><input type="text" style="width:25px" name="06"></td> <td><input type="text" style="width:25px" name="07"></td> <td><input type="text" style="width:25px" name="08"></td> <td><input type="text" style="width:25px" name="09"></td> <td><input type="text" style="width:25px" name="10"></td> <td><input type="text" style="width:25px" name="11"></td> <td><input type="text" style="width:25px" name="12"></td> </tr> </table> <span id="leschamps_2"><a href="javascript:create_champ(2)">Ajouter une équipe</a></span>
Fonction PHP (liste déroulante) affich_equip($nom_liste)
Code php : 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 function affich_equip($nom_list){ connec_base (); //Exécution de la requête SQL $query = 'SELECT distinct equipe FROM service ORDER BY equipe'; $result = pg_query($query) or die('Échec de la requête : ' . pg_last_error()); // Affichage des résultats en HTML echo "<select name='$nom_list'>\n"; echo "<option> </option>"; while ($line = pg_fetch_array($result, null, PGSQL_ASSOC)) { foreach ($line as $col_value) { echo "\t\t<option>$col_value</option>\n"; } } echo "</select>\n"; deco_base (); }
PS: Je sais que le Javascript ne fonctionne pas avec :
'<td><?php affich_equip(equip'+i')?></td>'+
mais c'est pour bien me faire comprendre sur mes attentes.
Voilà, en vous remerciant d'avance.
Partager