Disposition image php

Résolu
Bonjour,

j'ai une galerie de photo dont je joint le code en php mon probleme c est qu ils se mettent une a coter de l autre j usq'au bout de la page j'aimerait qu'il y en ai 8 photo de large et infini de long vu qu il n y a jamais le meme nombre de photo

merci

<?php
$dir="../shooting/20110625Beaugarte/small";
$dossier=opendir($dir);
while($fichier=readdir($dossier)){
$berk=array('.', '..');
if(!in_array($fichier,$berk)){
$lien=$dir.'/'.$fichier;
echo '<div style="float:left;height:75px;">';
echo '<a href="photo.php"> <img src="'.$lien.'" alt="" style="padding: 10 10 10 10;"/><br /></a>';

echo '</div>';
}
}
?>

4 réponses

  1. <table width="600px">
    <tr>
    <td width="600px">
    <?php
    $dir="../shooting/20110625Beaugarte/small";
    $dossier=opendir($dir);
    while($fichier=readdir($dossier)){
    $berk=array('.', '..');
    if(!in_array($fichier,$berk)){
    $lien=$dir.'/'.$fichier;
    echo '<div style="float:left; padding-top:5px; padding-bottom:5px; padding-right:5px; padding-left:5px;">';
    echo '<a href="photo.php"> <img src="'.$lien.'" alt="" /><br /></a>';

    echo '</div>';
    }
    }
    ?>
    </td>
    </tr>
    </table>

    voici la solution que j ai trouvé en définisant une largeur a un tableau les photos dessendent en bas automatiquement (les photos sont tous de la meme grandeur )

    merci pour vos solution

    :):):)
    1. Bonjour,

      je serais d'avis de créer un div container du taille en largeur fixe qui serais la somme de la taille de tes images (padding compris)

      ex pour des image de 80 de large et de padding 10 cela doit faire : 8*(80+10)+10
      soit 730px
      et une taille en longueur non défini

      ainsi tes div contenant tes images se caleront toujours à gauche et des qu'il n'y a plus de place iront à la lignes.

      Adns
      1. Bonjour,

        Pour régler ce problème il te suffit d'avoir un compteur qui va jusqu'à 8 et de mettre un retour à la ligne si c'est le cas:

        <?php 
        $dir="../shooting/20110625Beaugarte/small"; 
        $dossier=opendir($dir); 
        $compteur = 0; 
        while($fichier=readdir($dossier)){ 
        $compteur++; 
        $berk=array('.', '..'); 
        if(!in_array($fichier,$berk)){ 
        $lien=$dir.'/'.$fichier; 
        echo '<div style="float:left;height:75px;">'; 
        echo '<a href="photo.php"> <img src="'.$lien.'" alt="" style="padding: 10 10 10 10;"/><br /></a>'; 
        
        echo '</div>'; 
        if($compteur == 8){ echo '<br />'; $compteur=0; } 
        } 
        } 
        ?>

        Quand on veut on peut ! Ou pas ...
        1. Hum tu as testé le code que tu as fourni ?

          car je ne suis pas sur que le comportement voulu sois celui généré..
          Un saut de ligne avec des div flottante..
        2. Si le DIV est retiré ta solution dois fonctionner.
        3. ton code ne fonctionne pas car le compteur ne se remet pas a 0 quand il y en as 8 ;)
        4. Effectivement j'ai été trop vite :)
        5. j'y ai joint la solution en bas merci pour tout