Bonjour tout le monde,
J'ai un script javascript qui me permet de créer une ligne dans un tableau et d'y insérer n text area (zone de texte) :
1 2 3 4 5 6 7
| $NbFields = mysql_num_fields($query);
echo 'le nombre de champ de cette table vaut ' . $NbFields;
echo '<input type="button" value="Ajouter une ligne au tableau" onClick="AddRow('.$NbFields.') "; >';
echo '</table>';
?> |
1 2 3 4 5 6 7 8 9 10 11 12 13
| <script type="text/javascript">
function AddRow(NombreCellules)
{
var newRow = document.getElementById('TableauUpdate').insertRow(-1); //on ajoute une ligne en fin de tableau
for(i = 0; i < NombreCellules; i++)
{
var input = document.createElement("input");
input.type = "text";
newCell = newRow.insertCell(i);
newCell.appendChild(input);
}
}
</script> |
Je devrais donner un nom bien précis à chaque zone de texte créés.
Voici ce que cela devrait donner :
<td> <textarea name="new[2][NOM_PROF]" . $>Willis</textarea> <input name="old[2][NOM_PROF]" type="hidden" value="Willis"/></td><td> <textarea name="new[2][PRENOM_PROF]" . $>Bruce</textarea> <input name="old[2][PRENOM_PROF]" type="hidden" value="Bruce"/></td><td> <textarea name="new[2][Email_Prof]" . $>BWillis@gmail.com</textarea> <input name="old[2][Email_Prof]" type="hidden" value="BWillis@gmail.com"/></td></tr><input type="submi
Vous l'aurez remarqué, il faut créer avec chaque zone de texte un text area invisible, et donner un nom à la text visible area "new[2][NOM_PROF]"
et à la text area invisible "old[2][PRENOM_PROF]"
Il y'a plusieurs difficultés :
1) Il faudrait commencer la numérotation [n] après le dernier, cela devrait se faire grâce à mysql_num_rows() - 1 (le nombre de ligne déjà présentes dans la table - 1 car on commence la numérotation à zéro)
2) Donner un nom bien précis pour la text area visible et invisible.
Pour ce qui est du nom j'ai fait ceci :
input.name = new[NombreLignes][NOM_PROF]" . $;
Une grosse difficulté est de changer le nom [NOM_PROF] par une variable qui correspond au nom de la colonne dans laquelle on est actuellement.
Voici le code que j'utilise pour créer mon formulaire :
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
| echo '<form action="MettreAJour.php" method="post" name="frmSaisie" id="frmSaisie">';
echo '<tr>';
for($i=0;$i<mysql_num_fields($query);$i++)
{
echo '<th>'.mysql_field_name($query,$i).'</th>';
}
echo '</tr>';
$nligne = 0;
$nbColonnes = 0;
while($row = mysql_fetch_array($query,MYSQL_ASSOC))
{
echo '<tr>';
foreach($row as $NomCol => $Valeur)
{
echo '<td> <textarea name="new[' . $nligne . '][' . $NomCol . ']" . $>'.$Valeur.'</textarea> <input name="old[' . $nligne . '][' . $NomCol . ']" type="hidden" value="'.$Valeur.'"/></td>';
}
$nligne++;
echo '</tr>';
}
echo '<input type="submit" name="Submit" value="Mettre la table à jour" />' ;
echo '</p>';
echo '</form>'; |
Connaissez-vous un site qui expliquerais tout cela où pourriez-vous me mettre sur une première piste ?
Merci d'avance.
beegees
Partager