Generer une ligne supplementaire en php [Fermé]

Signaler
Messages postés
94
Date d'inscription
lundi 25 février 2008
Statut
Membre
Dernière intervention
5 décembre 2008
-
Messages postés
203
Date d'inscription
lundi 11 février 2008
Statut
Membre
Dernière intervention
16 mars 2010
-
Bonjour,

D'habitude on trouve tout sur la toile mais la j'ai du mal à trouver ce que je cherche. J'ai un page php ou l'utilisateur à la possibilité de sélectionner plusieurs case à cocher (revoyant un valeur bien sur ex :
<input type='checkbox' name='formulaire[]' value='F.4 Engagement de travail formateur'/> )

Puis dès qu'il valide son choix j'aimerai que les données sélectionner par l'utilisateur se répercute dans un tableau. En théorie cela semble semble à effectuer mais le problème vient du faite qu'il y à plusieurs cache à cocher et je trouve vraiment pas très futé de créer toutes les cellules à la main pour récupérer les données.

Pour plus d'explication : un fois qu'il sélectionne et valide ses choix et boucle me permet de balayer mes case à cocher puis de renvoyer les valeurs de chaque case.

for ($i = 0, $c = count($_POST['formulaire']); $i < $c; $i++)

{ echo "<br/>" .$_POST['formulaire'][$i]. "";}

C'est juste un texte qui me permet de vérifier que mes données apparaissent bien à l'écran. Mais maintenant j'aimerai l'insérer dans un tableau mais ça je n'arrive pas. J'ai essayé un boucle mais ça m'affiche deux fois le tableau j'aimeerai juste que l'entete reste fiché et que des ligne s'ajoute en fonction du nombre de case à cocher. Voila mon code :

for ($i = 0, $c = count($_POST['formulaire']); $i < $c; $i++)

{
$testça[$i]=$_POST['formulaire'][$i];

echo "<fieldset>
<legend>Selectionner formulaire</legend>
<center>
<table text-align='center' border='2'>

<tr>
<td>
<input type='checkbox' name='formulaire1' />
</td>
<td>
<center>Libellé</center>
</td>
<td>
'
</td>
<td>
'
</td>
<td>
'
</td>
<td>
'
</td>
</tr>

<tr>
<td>
<input type='checkbox' name=''/>
</td>
<td>
<label for='formulaire'> $testça[$i]</label>
</td>
<td>
<center><img src='image/b_browse.jpg'/></center>
</td>

<td>
<center><img src='image/b_edit.jpg'/></center>
</td>

<td>
<center><img src='image/b_drop.jpg'/></center>
</td>

<td>
<center><img src='image/b_print.jpg'/></center>
</td>
</tr>


</table>
</center>

</fieldset>


</form>";
}


ça fonctionne mais j'ai 2fois le même table bien sur dans le deuxième table le libellé est différent du 1er tableau mais je souhaite qu'il s'ajoute après le 1er libellé et non qu'il créé le même table avec les libellé qui change


je serai disponible pour la moindre informations complémntaire
cordialement,

1 réponse

Messages postés
203
Date d'inscription
lundi 11 février 2008
Statut
Membre
Dernière intervention
16 mars 2010
145
C'est une simple question de logique : si tu veux n'afficher qu'une ligne, tu ne mets dans ta boucle que le code concernant la ligne, et non celui de la table entière.

Exemple :
<table>
	<tr>
		<td>Colonne 1</td>
		<td>Colonne 2</td>
		<td>Colonne 3</td>
		<td>Colonne 4</td>
	</tr>
	<?php
		for($i = 0 ; $i < 3 ; $i++)
			echo '
				<tr>
					<td>Cellule '.$i.' - 1</td>
					<td>Cellule '.$i.' - 2</td>
					<td>Cellule '.$i.' - 3</td>
					<td>Cellule '.$i.' - 4</td>
				</tr>';
	?>
</table>