J'ai demandé de l'aide dernièrement pour conserver les cases cochées d'un checkbox lors d'un réaffichage de formulaire avec affichage dynamiques des valeurs ; ça fonctionne très bien.
(Merci à tous et à AB) http://forum.phpfrance.com/php-debutant/checkbox-t251529.html
Par défaut, les checkbox s'affichent en une liste de haut en bas (mes codes sont à l'intérieur d'une form).
J'ai utilisé l'opérateur modulo pour créer 2 colonnes ; ça fonctionne. Voici le code :
Syntaxe: [ Télécharger ] [ Masquer ]
Code php
<?php
echo "<hr width='400px' align='left'>";
echo "<p>Genre(s) :<p/>";
echo '<table width="60%">';
$i = 0;
while ($i < 7)
{
$contenu = array(
"0" => "danse",
"1" => "conte",
"2" => "musique",
"3" => "théâtre",
"4" => "blues",
"5" => "chant",
"6" => "cirque",
);
foreach ($contenu as $key => $genr)
{
if (($i % 2) == 0){ ?>
<tr><td><?php echo $genr ; ?> <input type='checkbox' name='genres[]' value='$id_genres' <?php if (isset($_POST['genres']) && is_array($_POST['genres']) && in_array($id_genres,$_POST['genres'])) echo 'checked="checked"'?>/> </td>
<?php }elseif (($i % 2) == 1){ ?>
<td><?php echo $genr ; ?> <input type='checkbox' name='genres[]' value='$id_genres' <?php if (isset($_POST['genres']) && is_array($_POST['genres']) && in_array($id_genres,$_POST['genres'])) echo 'checked="checked"'?>/> </td>
<?php }
$i++;
}
}
echo '</table>';
echo "<font color='red'> $erreur6</font>";
echo "<hr width='400px' align='left'>";
?>
echo "<hr width='400px' align='left'>";
echo "<p>Genre(s) :<p/>";
echo '<table width="60%">';
$i = 0;
while ($i < 7)
{
$contenu = array(
"0" => "danse",
"1" => "conte",
"2" => "musique",
"3" => "théâtre",
"4" => "blues",
"5" => "chant",
"6" => "cirque",
);
foreach ($contenu as $key => $genr)
{
if (($i % 2) == 0){ ?>
<tr><td><?php echo $genr ; ?> <input type='checkbox' name='genres[]' value='$id_genres' <?php if (isset($_POST['genres']) && is_array($_POST['genres']) && in_array($id_genres,$_POST['genres'])) echo 'checked="checked"'?>/> </td>
<?php }elseif (($i % 2) == 1){ ?>
<td><?php echo $genr ; ?> <input type='checkbox' name='genres[]' value='$id_genres' <?php if (isset($_POST['genres']) && is_array($_POST['genres']) && in_array($id_genres,$_POST['genres'])) echo 'checked="checked"'?>/> </td>
<?php }
$i++;
}
}
echo '</table>';
echo "<font color='red'> $erreur6</font>";
echo "<hr width='400px' align='left'>";
?>
Je ne réussis pas à trouver comment afficher ma liste de genres en 3 colonnes au lieu de 2 (ni avec modulo ni avec la boucle for ($i = 0 ; $i < ... etc.). Merci pour des conseils.








