compter/afficher une image sur trois

Eléphanteau du PHP | 35 Messages

12 juin 2007, 10:29

Bonjour les geeks!

Alors bon maintenant j'ai un problème parce que j'essaie de faire afficher une image sur trois et que je n'y arrive pas!!
Je fais le code suivant et ça m'affiche une image sur deux, soit la 1, la 3, la 5 etc etc, moi j'aimerai que ça fasse 1, 4, 7 etc etc si quelqu'un voit où est-ce que je pourrais modifier le code pour que ça fonctionne, parce que j'ai essayé diverses possibilités, mais rien n'y fait!
                                        $j=0;	
					$unesurx = 3 ;					

					foreach($listFichier as $fichier) {

						if ($j != $unesurx && $j==1){
							$j++;

						}else{
						// Hauteur de toutes les images 
        					$h_vign = "120"; 
        					$taille = getimagesize($nomRepertoire."/".$fichier); 
 						$reduc  = floor(($h_vign*100)/($taille[1])); 
        					$l_vign = floor(($taille[0]*$reduc)/100); 
					
						
						echo '<a target="_blank" href="', $urlphoto, '/',$fichier, '">';
						echo '<img src="', $urlphoto, '/',$fichier, '" '; 
						echo "width='$l_vign' height='$h_vign'>"; 
						echo "</a>&nbsp;"; 
						echo "<input type='checkbox' name='$fichier' id='$fichier' /><label for='$fichier'>$fichier</label><br />";
						$j=1;
						}
					}
Merci d'avance :)

Mammouth du PHP | 684 Messages

12 juin 2007, 11:14

$j=0;    
$unesurx = 3 ;                    
foreach ($listFichier as $fichier) {
    if (($j % $unesurx) == 0) {
        // Hauteur de toutes les images 
        $h_vign = "120"; 
        $taille = getimagesize($nomRepertoire."/".$fichier); 
        $reduc  = floor(($h_vign*100)/($taille[1])); 
        $l_vign = floor(($taille[0]*$reduc)/100); 
        echo '<a target="_blank" href="', $urlphoto, '/',$fichier, '">';
        echo '<img src="', $urlphoto, '/',$fichier, '" '; 
        echo "width='$l_vign' height='$h_vign'>"; 
        echo "</a>&nbsp;"; 
        echo "<input type='checkbox' name='$fichier' id='$fichier' /><label for='$fichier'>$fichier</label><br />";
    }
    $j++;
}
A essayer.
Zigz4g

Eléphanteau du PHP | 35 Messages

12 juin 2007, 11:28

Merci zigz4g! :D

ça marche super maintenant! C'est vraiment sympa, parce que je galèrais grave quand même!
Mais peut-tu m'expliquer cette ligne stp:
    if (($j % $unesurx) == 0) { 
Et me dire par la même occasion ce que je faisais et qui n'était pas bon

Merci encore!

Mammouth du PHP | 684 Messages

12 juin 2007, 11:37

Oui exacte, je n'ai pas vraiment aider a la comprehension.
if (($j % $unesurx) == 0) {
Pour cette ligne, je t'invite a chercher et lire la doc sur les Modulo. Ca te permet d'avoir le reste d'une division.
if ($j != $unesurx && $j==1){
Si $j != $unesurx alors tu rentre dans ta condition. Dans le cas de depart, $j = 0; donc tu rentre des la premiere fois. Puis jusqu'a ce que tu arrive a 3. Ton && $j ==1, n'est pas utile et ne fait rien de bien interessant dans ton cas. Un && logique est evalue dans l'ordre de l'expression. C'est pour optimiser le code.
Zigz4g

Eléphanteau du PHP | 35 Messages

12 juin 2007, 11:43

Ok merci je comprend mieux! ;)

Sympa de m'avoir donner un coup de main! Passe une bonne journée, bon appétit et peut être à plus tard pour une autre question!