Selection checkbox dans un tableau

Résolu
mali_67 Messages postés 77 Date d'inscription   Statut Membre Dernière intervention   -  
mali_67 Messages postés 77 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour, j'ai créer un formulaire composer d'un tableau, un bouton, et une checkbox sur chaque ligne du tableau.
Mon probleme et le suivant, si je selectionne une checkbox et que j'appui sur valider tout fonctionne comme prevu, mais si je selectionne plusieur checkbox mon affichage fonctionne mal(il affiche mes resultat par rapport au nombre de box cocher ex si je cocher 3 box il affiche 3 fois le resultat)
si vous voulez plus de renseignement sur mon code, demander moi
$Tab['NumLien'] = le numero id de la colonne
$Tab['LibelleLienSprice'] = une colonne de mon tableau(celle qui s'affiche plusieur fois si plusieur checkbox sont cocher

<?php     
if (isset($_POST['Verification'])) //mon bouton verification
{
$verif = $_POST['Verif'];  //mes checkbox
	for($i=0;$i<sizeof($verif);$i++) 
	{
	 if ($verif[$i]==$Tab['NumLien'])
	 {
	  $Test = $Tab['LibelleLienSprice'];
if (!$fp = @fopen(''.$Test.'',"r"))   //l
{
echo '<span style="color:red;">'.$Test.'</span>';
$bool='false';
}
else 
{
echo '<span style="color:green;">'.$Test.'</span>';
$bool='true';
}
	 }
	 else
{
 echo $Tab['LibelleLienSprice'];
}
	 }
}
else
{
 echo $Tab['LibelleLienSprice'];
}
?>
A voir également:

5 réponses

Enax Messages postés 203 Date d'inscription   Statut Membre Dernière intervention   145
 
C'est normal. Le problème vient de là :
if ($verif[$i]==$Tab['NumLien'])
{
	...
}
else
{
	echo $Tab['LibelleLienSprice'];
} 

Le nombre d'itérations de ta boucle correspond au nombre de cases cochées (puisque tu utilises sizeof). A chaque itération, soit la condition est remplie (if ($verif[$i]==$Tab['NumLien'])) et tu affiches alors $Tab['LibelleLienSprice'] en vert ou rouge (la condition imbriquée), soit elle n'est pas remplie mais tu l'affiches là aussi, en noir cette fois (ou la couleur par défaut de ton site).
Résultat, ta variable est affichée à chaque fois d'une couleur ou d'une autre.

Plutôt qu'une boucle, utilise la fonction in_array.

<?php   
	if (in_array($Tab['NumLien']), $_POST['Verif'])
	{
		$Test = $Tab['LibelleLienSprice'];
		if (!$fp = @fopen(''.$Test.'',"r"))
		{
			echo '<span style="color:red;">'.$Test.'</span>';
			$bool='false';
		}
		else 
		{
			echo '<span style="color:green;">'.$Test.'</span>';
			$bool='true';
		}
	}
	else
	{
		echo $Tab['LibelleLienSprice'];
	}
?>
0
mali_67 Messages postés 77 Date d'inscription   Statut Membre Dernière intervention   4
 
Merci enax par contre
j'ai un message d'erreur le voici
Parse error: syntax error, unexpected ',' in C:\wamp\www\Referencement\Accueil.php on line 280
<?php     
if (isset($_POST['Verification']) && $_POST['Verif']!= "")
{
if (in_array($Tab['NumLien']), $_POST['Verif'])  //ligne 280
	 {
	  $Test = $Tab['LibelleLienSprice'];
if (!$fp = @fopen(''.$Test.'',"r"))   //l
{
echo '<span style="color:red;">'.$Test.'</span>';
$bool='false';
}
else 
{
echo '<span style="color:green;">'.$Test.'</span>';
$bool='true';
}
	 }  	 
}
else
{
 echo $Tab['LibelleLienSprice'];
 $message="Vous devez cocher une case!";
}
?>
0
Enax Messages postés 203 Date d'inscription   Statut Membre Dernière intervention   145
 
Une petite erreur dans les parenthèses :

if (in_array($Tab['NumLien'], $_POST['Verif']))
0
mali_67 Messages postés 77 Date d'inscription   Statut Membre Dernière intervention   4
 
j'ai pas reussi a voir ou
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mali_67 Messages postés 77 Date d'inscription   Statut Membre Dernière intervention   4
 
opk merci enax ta fonction in array parfait grace a toit mon probleme est resolue
0