par
Cyrano » 11 oct. 2005, 08:36
Voilà, quand on utilise un modulo, on vérifie si le reste d'une division est égal à une valeur. Ici, on vérifie si le pointeur est pair ou impair en testant la valeur du reste de la division du pointeur par 2 : ça ne peut être que 0 ou 1.
Bon, il va quand même rester un autre problème. Tu affiches dans un tableau, mais de la manière dont on a structuré la base du code, si tu as un nombre de photos impair, la dernière ligne n'aura qu'une seule cellule. Le code HTML sera donc invalide. On va donc rajouter un élément de test pour la dernière ligne: si le nombre de photos est impair, on rajoutera à la fin une cellule vide pour compléter le tableau avant de le fermer.
Voici ce que ça donne:
<?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.
Si tu as du mal à comprendre, reviens poser des questions

Voilà, quand on utilise un modulo, on vérifie si le reste d'une division est égal à une valeur. Ici, on vérifie si le pointeur est pair ou impair en testant la valeur du reste de la division du pointeur par 2 : ça ne peut être que 0 ou 1.
Bon, il va quand même rester un autre problème. Tu affiches dans un tableau, mais de la manière dont on a structuré la base du code, si tu as un nombre de photos impair, la dernière ligne n'aura qu'une seule cellule. Le code HTML sera donc invalide. On va donc rajouter un élément de test pour la dernière ligne: si le nombre de photos est impair, on rajoutera à la fin une cellule vide pour compléter le tableau avant de le fermer.
Voici ce que ça donne:
[php]<?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>[/php]
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.
Si tu as du mal à comprendre, reviens poser des questions :)