par
AB » 19 août 2010, 16:32
T'as essayer ? Si cela t'affiche bien les bonnes valeurs, j'enregistrerais le résultat dans un tableau ainsi tes éléments seront plus facilement manipulables.
Une variante avec foreach
$tab_pays = array();
foreach ($_POST as $key => $value)
{
if (strpos($key, 'pays') === 0) $tab_pays[] = $value;
}
Et tu as directement le nom des pays cochés dans $tab_pays pour peu que tu aies à l'origine un tableau de correspondance que tu peux utiliser pour lister les checkbox ex:
<?php
$pays['pays1'] = 'france';
$pays['pays2'] = 'angleterre';
$pays['pays3'] = 'allemagne';
//...
?>
<form action = "#" method = "post">
<p>
<?php foreach($pays as $key => $value)
{?>
<input name="<?php echo $key?>" type="checkbox" value="<?php echo $value?>" />
<?php } ?>
<input type ="submit" value ="ok" />
</p>
</form>
Sinon attention avec ta méthode, le dernier pays ne passera jamais dans ta boucle si le premier pays ne se nomme pas pays0. C'est pour cela que je préfère ma méthode avec foreach qui permet de ne pas avoir à se soucier de l'indexation du premier élément.
T'as essayer ? Si cela t'affiche bien les bonnes valeurs, j'enregistrerais le résultat dans un tableau ainsi tes éléments seront plus facilement manipulables.
Une variante avec foreach
[php]$tab_pays = array();
foreach ($_POST as $key => $value)
{
if (strpos($key, 'pays') === 0) $tab_pays[] = $value;
}
[/php]
Et tu as directement le nom des pays cochés dans $tab_pays pour peu que tu aies à l'origine un tableau de correspondance que tu peux utiliser pour lister les checkbox ex:
[php]<?php
$pays['pays1'] = 'france';
$pays['pays2'] = 'angleterre';
$pays['pays3'] = 'allemagne';
//...
?>
<form action = "#" method = "post">
<p>
<?php foreach($pays as $key => $value)
{?>
<input name="<?php echo $key?>" type="checkbox" value="<?php echo $value?>" />
<?php } ?>
<input type ="submit" value ="ok" />
</p>
</form>[/php]
Sinon attention avec ta méthode, le dernier pays ne passera jamais dans ta boucle si le premier pays ne se nomme pas pays0. C'est pour cela que je préfère ma méthode avec foreach qui permet de ne pas avoir à se soucier de l'indexation du premier élément.