M�langer Javascript & PHP
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� :
http://img15.hostingpics.net/thumbs/...33formdmde.png
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:
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:
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:
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.