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