Code : Tout sélectionner
resultat 1 | resultat 2
resultat 3 | resultat 4
resultat 5 | resultat 6
etc...<?php
$i = 1
while(condition d'affichage)
{
// Instrution d'affichage d'un bloc;
if($i % 2 == 0)
{
//.... élément de retour à la ligne;
echo("<br />\n");
$i++;
}
}
?>//Afficher la liste des noms des jeux à raison de 2 images par ligne:
//Ouvrir une table HTML
echo "<table border=0>";
//Compteur
$nbImages = 0;
//afficher 2 images par ligne
while($data = mysql_fetch_assoc($req))
{
//Nouvelle ligne au début et si 2 images sont affichées (% est le modulo ou reste de division)
if ($nbImages % 2 == 0) echo "<tr>";
//Afficher l'image dans une céllule
echo "<td>".$data['titre' ];
//Incrémenter le compteur
$nbImages ++;
}
//Fin de la table
echo "</table>";
Cest quoi enfaite le modulo ? le reste d'une division ? dans ce cas la 0 divisé par 2 ca fais 0 ? Enfin il faut qu'on m'explique un peu tout sa.En faite c'est le reste de la division entiere de variable par 2Cest quoi enfaite le modulo ? le reste d'une division ? dans ce cas la 0 divisé par 2 ca fais 0 ? Enfin il faut qu'on m'explique un peu tout sa.
<?php
//Afficher la liste des noms des jeux à raison de 2 images par ligne:
//Ouvrir une table HTML
?>
<table border="0">
<tr>
<?php
/* On récupère le nombre d'images à afficher */
$total = mysql_num_rows($req);
//Compteur
$nbImages = 1;
//afficher 2 images par ligne
while($data = mysql_fetch_assoc($req))
{
//Afficher l'image dans une cellule
?>
<td><?php echo($data['titre' ]); ?></td>
<?php
/* On vérifie s'il ne reste plus d'image à afficher et que la dernière est toute seule dans la ligne */
if(($nbImages % 2 != 0) && ($nbImages == $total))
{
?>
<td> </td>
<?php
}
//Nouvelle ligne au début et si 2 images sont affichées (% est le modulo ou reste de division)
if(($nbImages % 2 == 0) && ($nbImages < $total))
{
?>
</tr>
<tr>
<?php
}
//Incrémenter le compteur
$nbImages ++;
}
//Fin de la table
?>
</tr>
</table>
Tu noteras que j'ai ajouté une ligne avant la boucle pour récupérer le nombre de photos à afficher. Ensuite, j'ai rajouté un test dans la boucle.
une explication t'attend sur ce postEnfaite ce que je comprend pas trop cest ce modulo...Par example 1 % 2 = 0 mais on le lis comment ? "combien ya til de reste dans 1 divisé par 2" ?
non, c'est pas exactement ça, ce n'est pas un modulo avec 1 a chaque tour de boucle mais avec le nombre d'images passées dans la boucle.. dépend directement de $nbImages ++.Après si 1%2=0 (déja est ce que ca vaux 0 ?)
en faite comme tu dis $nbImages ++ correspond a $nbImages = $nbImages+1 donc a chaque tour dans la boucle on fait toujours $nbImages = $nbImages+1 et non +2.Et après, on fais $nbImages ++, cest a dire que la première fois $nbImages = $nbImages+1. A la deuxième répétition cest $nbImages+2, et ainsi de suite ?
Euh ..qu'est ce que ca va changer si je change %2 par %3 ?
$nbImages % 2 != 0
et mainteant
$nbImages % 3 != 0
donc il y aura un affichage sur 3 colonnes .. si tu veut un affichage sur 4 colonnes tu fait:
pour un affichage sur 3 colonnes il suffit de remplacer le "2" du modulo par "3"
$nbImages % 4 != 0
ainsi de suite
et donc quoi ??Parce que le 2 est plus grand que 1 donc....
echo 1%2;
echo '<br>';
echo 2%2;
echo '<br>';
echo 3%2;
echo 1%3;
echo '<br>';
echo 2%3;
echo '<br>';
echo 3%3;
et tu vera le résultat