[Tableaux] Incrémentation dans un tableau
Bonjour,
J'ai un formulaire auto-généré via une tabla mysql. Ce formulaire comporte de nom des champs de la base et plusieurs input à renseigner. Je donne des noms à ces input via une incrémentation $i++
Chaque input présent sur une même ligne doit avoir le même numéro d'incrémentation
Voici un exemple :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
<?php
mysql_select_db("test");
$sql=mysql_query("SHOW COLUMNS FROM test");
//Définition des valeurs
$a=1;$b=1;
echo '<table>'."\n";
echo '<tr><td>Nom de colonne</td><td>Champ1</td><td>Champ2</td></tr>'."\n";
while($col=mysql_fetch_row($sql)){
echo'<tr>'."\n";
echo '<td>'.$col[0].'</td>'."\n";
echo '<td><input type="text" name="'.$col[0].'_valeur'.$a++.'"></td>'."\n";
echo '<td><input type="text" name="'.$col[0].'_libelle'.$b++.'"></td>'."\n";
echo '</tr>'."\n";
}
echo '</table>'."\n";
?> |
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
|
<table>
<tr><td>Nom de colonne</td><td>Champ1</td><td>Champ2</td></tr>
<tr>
<td>id</td>
<td><input type="text" name="id_valeur1"></td>
<td><input type="text" name="id_libelle1"></td>
</tr>
<tr>
<td>nom</td>
<td><input type="text" name="nom_valeur2"></td>
<td><input type="text" name="nom_libelle2"></td>
</tr>
<tr>
<td>prenom</td>
<td><input type="text" name="prenom_valeur3"></td>
<td><input type="text" name="prenom_libelle3"></td>
</tr>
<tr>
<td>age</td>
<td><input type="text" name="age_valeur4"></td>
<td><input type="text" name="age_libelle4"></td>
</tr>
</table> |
Comme vous le voyez, afin d'avoir les même valeurs d'incrémentation, j'utilise deux variables :
Ceci ne pose pas de problème dans l'exemple ci-dessus mais dans une application plus complexe ou chaque ligne doit comporter 7 valeurs incrémentées (ou plus) ça devient compliquer. ->$a=1; $b=1;$c=1; $d=1;$e=1; $f=1;$g=1; $h=1;
Ma question :
Est t'il possible de n'utiliser qu'une seule valeur et de la réinitialiser à chaque colonne? Dois-je passer par une autre méthode?
Merci par avance pour votre aide.