Partage
  • Partager sur Facebook
  • Partager sur Twitter

Créer une gallerie d'image

Petit problèèèmme ...

Sujet résolu
    8 avril 2006 à 20:13:07

    Bonsoir à tous et toutes :) !

    Voilà, pour mon site, je cherche à créer une gallerie d'image et disposant ces dernières comme dans un tableau en en comptant 4 par ligne.
    Malheureusement, j'ai beau tenter de faire ca avec des while() et des for(), je n'y arrive pas ; il n'y a aucun retour à la ligne qui se forme après affichage de 4 images pour afficher les 4 suivantes en dessous des premières.
    Et j'ai beau chercher sur PHP.net, RIEN !
    Il ne me reste donc plus qu'une seule alternative : vous ... :p

    Je vous pose donc la fameuse question : sauriez-vous m'aider à réaliser cette gallerie d'image en me mettant sur la voie pour réaliser le code ?

    J'avais, il y a de cela quelques mois, bien avant la V3 du siteduzero fait la même demande et les réponses ne m'avaient pas aidé alors j'ai laissé tombé mais voila que maintenant, pour mon projet actuel, ca devient vital :lol: ...

    Je vous présente le début de mon code (recherche dans la bdd et affichage)

    <table>
    <tr>
    <?php
    $sql = mysql_query("select * from membres where actif = 'oui' && region = '".$acces."'");

    while($array = mysql_fetch_array($sql))
    {
            $pseudo = $array['pseudo'];
            $id = $array['id'];
            $avatar = $array['avatar'];
            $avatar2 = "Images/base.jpg";
                                   
            for($i=0; $i <=3; $i++)
            {
                    $var"<td>$pseudo<br/><img src='$avatar' alt='Image utilisateur' style='border:1px black solid' /></td>";
                    echo $var;
                                   
                    if($i == 3)
                    {
                            echo "</tr><tr>";
                    }
            }
    }
    ?>
    </tr>
    </table>


    Dans ma boucle while, j'ai essayé de faire un for pour qu'au bout de 4 images affichées, il m'écrive un "</tr><tr>" mais .......... il m'affiche alors 4 fois la même image par ligne or j'aimerai pouvoir afficher 4 images différentes par ligne !

    Help :(
    • Partager sur Facebook
    • Partager sur Twitter
      9 avril 2006 à 12:56:07

      UP ! y a vraiment personne pour m'aider :(
      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        9 avril 2006 à 13:09:24

          for($i=0; $i <=3; $i++)
                {
                        $var"<td>$pseudo<br/><img src='$avatar' alt='Image utilisateur' style='border:1px black solid' /></td>";
                        echo $var;
                                       
                        if($i == 3)
                        {
                                echo "</tr><tr>";
                        }
                }


        a la place fait

        [code faux]
        while ( myql_fetch_array)
        {
        echo $var
        $i++;
        if($i == 3)
        {
        echo '</tr><tr>';
        $i = 0;
        }
        }
        • Partager sur Facebook
        • Partager sur Twitter
          9 avril 2006 à 13:20:29

          Merci Arnaud, grâce à toi, j'ai trouvé :D et je vous fait profiter du code :

          <?php
          $sql = mysql_query("select * from membres where actif = 'oui' && region = '".$acces."'");
          $i = 0;
          ?>
                  <table style="margin:auto">
                          <tr>
                          <?php
                          while($array = mysql_fetch_array($sql))
                          {
                                  $pseudo = $array['pseudo'];
                                  $id = $array['id'];
                                  $avatar = $array['avatar'];
                                  $avatar2 = "Images/base.jpg";
                                 
                                  $i++;
                                         
                                  echo "<td>$pseudo<br/><img src='$avatar' alt='Image utilisateur' style='border:1px black solid' /></td>";
                                         
                                  if($i == 4)
                                  {
                                          echo "</tr><tr>";
                                          $i = 0;
                                  }
                          }
                          ?>
                          </tr>
                  </table>
          <?php
          //la suite de ma page
          ?>


          En fait il fallait bêtement définir $i à 0 avant la boucle ... Là le code fait que au bout de 4 images affichées, il passe à une nouvelle ligne du tableau :)

          Encore merci de m'avoir mis sur la voie :D
          • Partager sur Facebook
          • Partager sur Twitter
          Anonyme
            9 avril 2006 à 13:22:39

            De rien, je préfère mettre sur la voie et que tu trouve tout seul que te filer un code tout pret.

            Sinon, avec des float ( css ) le nombre s'adaptera en fonction de la résilution.
            • Partager sur Facebook
            • Partager sur Twitter
              9 avril 2006 à 13:29:10

              mon design étant fixe, pas besoin de l'adapter avec la résolution. Mais merci du coups de pouce :D
              • Partager sur Facebook
              • Partager sur Twitter

              Créer une gallerie d'image

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown