Partage
  • Partager sur Facebook
  • Partager sur Twitter

Aligner Horizontalement des div issus d'une boucle

Sujet résolu
    20 mai 2018 à 10:26:39

    Bonjour,

    Je suis entrain de réaliser un site oui grâce à un formulaire je créé des articles de vêtements et jouets qui sont directement envoyé et enregistrer dans ma base de données. Sur ma page vêtements bébé par exemple, je veux afficher tous les articles faisant partis de la catégorie vêtement bébé (v_bebe).

    Le problème est que lorsque je faisait tout manuellement sans php tous mes articles  contenu dans des div s'alignaient horizontalement avec flexbox. Maintenant vue que mes articles s'affiches à l'aide d'une boucle while, tout mes articles se positionnent l'un en dessous de l'autres. Comment résoudre ce problème ?

    Code HTML/PHP de la page:

    <!DOCTYPE html>
    <html>
      <head>
        <title>Vêtements Bébé</title>
        <meta charset="UTF-8"/>
        <link rel="stylesheet" href="css/style.css"/>
        <link rel="stylesheet" href="css/header.css"/>
        <link rel="stylesheet" href="css/footer.css"/>
        <link rel="stylesheet" media="screen and (max-width: 1280px)" href="css/petite_resolution.css" />
      </head>
    
      <body>
        <?php include('header.php') ?>
          <?php
            try
            {
              $bdd = new PDO('mysql:host=localhost;dbname=ici_cest_pas_cher;charset=utf8', 'root', '');
            }
            catch(Exception $e)
            {
                    die('Erreur : '.$e->getMessage());
            }
    
            $req = $bdd->query('SELECT id, prix, taille, marque FROM produits WHERE categorie=\'v_bebe\' ORDER BY id DESC');
    
            while ($donnees = $req->fetch())
            {
          ?>
    
          <div class="article">
            <div>
              <a href="vetements.php?reference=<?php echo $donnees['id']; ?>"><img src="images/vetements/bebe/3/vet1.0.jpg" alt="ch"/></a>
              <p><span><?php echo htmlspecialchars($donnees['prix']); ?></span></p>
              <p><?php echo htmlspecialchars($donnees['taille']); ?><br/>
                <?php echo htmlspecialchars($donnees['marque']); ?></p>
            </div>
          </div>
          <?php
            }
          ?>
        </section>
    
        <?php include('footer.php') ?>
      </body>
    </html>
    

    Code CSS mais seulement de la partie .article

    .article{
    	display: flex;
    	justify-content: center;
    	flex-wrap: wrap;
    	width: 80%;
    	margin: auto;
    	margin-top: 2%;
    	margin-bottom: 2%;
    }
    
    .article div{
    	background-color: white;
    	border: 1px solid lightgrey;
    	margin: 1%;
    }
    
    .article div img{
    	width: 310px;
    	height: 400px;
    	border-radius: 5px 5px 0 0;
    }
    
    .article div p{
    	font-family:Arial;
    	margin: 0;
    	padding: 3px 0px 10px 10px;
    }
    
    .article div p span{
    	font-size: 20px;
    }

    Rendu de la page: https://imgur.com/a/u9qBtO7

    Cordialement.


    • Partager sur Facebook
    • Partager sur Twitter
      20 mai 2018 à 10:30:33

      Bonjour,

      C'est juste que tu fais ta boucle différemment de ton code html. Est-ce qu'on peut voir en html le résultat que tu veux obtenir ?

      • Partager sur Facebook
      • Partager sur Twitter
        20 mai 2018 à 10:32:54

        philodick a écrit:

        Bonjour,

        C'est juste que tu fais ta boucle différemment de ton code html. Est-ce qu'on peut voir en html le résultat que tu veux obtenir ?


        Je veux simplement que mes articles s'affichent l'un à coté de l'autre de gauche à droit et non l'un en dessous de l'autres.
        • Partager sur Facebook
        • Partager sur Twitter
          20 mai 2018 à 10:41:27

          Ben alors tu t'es trompé de forum, c'est pas du php ça.
          • Partager sur Facebook
          • Partager sur Twitter
            20 mai 2018 à 19:34:25

            philodick a écrit:

            Ben alors tu t'es trompé de forum, c'est pas du php ça.


            Un peu si, puisque c'est depuis que j'ai mit du php que mes div ne s'affiche plus de la bonne façon...
            • Partager sur Facebook
            • Partager sur Twitter
              20 mai 2018 à 20:48:33

              Et bien si tu sais faire le html, montre le résultat que tu veux obtenir, sans ça on ne peut pas t'aider.
              • Partager sur Facebook
              • Partager sur Twitter
                21 mai 2018 à 20:22:07

                Voilà le rendu avec le php: https://imgur.com/a/HeLTW9l

                et voilà le rendu que je voudrais obtenir et que j'obtenais avant le php, quand c'étais seulement en html https://imgur.com/a/zV0165Z.

                • Partager sur Facebook
                • Partager sur Twitter
                  21 mai 2018 à 20:27:31

                  Sérieux, une image ne sert à rien, c'est le code html qui nous intéresse.
                  • Partager sur Facebook
                  • Partager sur Twitter
                    23 mai 2018 à 11:09:25

                    philodick a écrit:

                    Sérieux, une image ne sert à rien, c'est le code html qui nous intéresse.


                    Oui excuse moi.

                    Code si je fait en php https://imgur.com/a/HeLTW9l :

                    <!DOCTYPE html>
                    <html>
                      <head>
                        <title>Vêtements Bébé</title>
                        <meta charset="UTF-8"/>
                        <link rel="stylesheet" href="css/style.css"/>
                        <link rel="stylesheet" href="css/header.css"/>
                        <link rel="stylesheet" href="css/footer.css"/>
                        <link rel="stylesheet" media="screen and (max-width: 1280px)" href="css/petite_resolution.css" />
                      </head>
                    
                      <body>
                        <?php include('header.php') ?>
                          <?php
                            try
                            {
                              $bdd = new PDO('mysql:host=localhost;dbname=ici_cest_pas_cher;charset=utf8', 'root', '');
                            }
                            catch(Exception $e)
                            {
                                    die('Erreur : '.$e->getMessage());
                            }
                    
                            $req = $bdd->query('SELECT id, prix, taille, marque
                              FROM produits WHERE categorie=\'v_bebe\' ORDER BY id DESC');
                    
                            while ($donnees = $req->fetch())
                            {
                          ?>
                    
                          <div class="article">
                            <div>
                              <a href="vetements.php?reference=<?php echo $donnees['id']; ?>"><img src="images/vetements/bebe/3/vet1.0.jpg" alt="ch"/></a>
                              <p><span><?php echo htmlspecialchars($donnees['prix']); ?></span></p>
                              <p><?php echo htmlspecialchars($donnees['taille']); ?><br/>
                                <?php echo htmlspecialchars($donnees['marque']); ?></p>
                            </div>
                          </div>
                          <?php
                            }
                          ?>
                        </section>
                        <?php include('footer.php') ?>
                      </body>
                    </html>

                    Code si je fais en html https://imgur.com/a/zV0165Z :

                    <!DOCTYPE html>
                    <html>
                      <head>
                        <title>Vêtements Bébé</title>
                        <meta charset="UTF-8"/>
                        <link rel="stylesheet" href="css/style.css"/>
                        <link rel="stylesheet" href="css/header.css"/>
                        <link rel="stylesheet" href="css/footer.css"/>
                        <link rel="stylesheet" media="screen and (max-width: 1280px)" href="css/petite_resolution.css" />
                      </head>
                    
                      <body>
                        <?php include('header.php') ?>
                        <section>
                          <div class="article">
                            <div>
                              <a href="vetements.php>"><img src="images/vetements/bebe/3/vet1.0.jpg" alt="ch"/></a>
                              <p><span>9.99 €</span></p>
                              <p>6 Mois<br/>
                                Levi'z</p>
                            </div>
                            <div>
                              <a href="vetements.php>"><img src="images/vetements/bebe/3/vet1.0.jpg" alt="ch"/></a>
                              <p><span>9.99 €</span></p>
                              <p>6 Mois<br/>
                                Levi'z</p>
                            </div>
                          </div>
                        </section>
                        <?php include('footer.php') ?>
                      </body>
                    </html>



                    Code css pour n'importes quelle version :

                    .article{
                    	display: flex;
                    	justify-content: center;
                    	flex-wrap: wrap;
                    	width: 80%;
                    	margin: auto;
                    	margin-top: 2%;
                    	margin-bottom: 2%;
                    }
                    
                    .article div{
                    	background-color: white;
                    	border: 1px solid lightgrey;
                    	margin: 1%;
                    }
                    
                    .article div img{
                    	width: 310px;
                    	height: 400px;
                    	border-radius: 5px 5px 0 0;
                    }
                    
                    .article div p{
                    	font-family:Arial;
                    	margin: 0;
                    	padding: 3px 0px 10px 10px;
                    }
                    
                    .article div p span{
                    	font-size: 20px;
                    }





                    • Partager sur Facebook
                    • Partager sur Twitter
                      23 mai 2018 à 14:14:45

                      Est-ce que ce n'est pas que tu inclus la première div dans la boucle ? :

                        
                            <div class="article">
                             <?php while ($donnees = $req->fetch())
                              {
                            ?>
                      
                              <div>
                                <a href="vetements.php?reference=<?php echo $donnees['id']; ?>"><img src="images/vetements/bebe/3/vet1.0.jpg" alt="ch"/></a>
                                <p><span><?php echo htmlspecialchars($donnees['prix']); ?></span></p>
                                <p><?php echo htmlspecialchars($donnees['taille']); ?><br/>
                                  <?php echo htmlspecialchars($donnees['marque']); ?></p>
                              </div>
                      
                            <?php
                              }
                            ?>
                            </div>
                          </section>
                          <?php include('footer.php') ?>
                        </body>
                      </html>



                      • Partager sur Facebook
                      • Partager sur Twitter
                        23 mai 2018 à 14:32:46

                        philodick a écrit:

                        Est-ce que ce n'est pas que tu inclus la première div dans la boucle ? :

                          
                              <div class="article">
                               <?php while ($donnees = $req->fetch())
                                {
                              ?>
                        
                                <div>
                                  <a href="vetements.php?reference=<?php echo $donnees['id']; ?>"><img src="images/vetements/bebe/3/vet1.0.jpg" alt="ch"/></a>
                                  <p><span><?php echo htmlspecialchars($donnees['prix']); ?></span></p>
                                  <p><?php echo htmlspecialchars($donnees['taille']); ?><br/>
                                    <?php echo htmlspecialchars($donnees['marque']); ?></p>
                                </div>
                        
                              <?php
                                }
                              ?>
                              </div>
                            </section>
                            <?php include('footer.php') ?>
                          </body>
                        </html>



                        Je viens d'essayer et c'étais bien ça le problème... et en réfléchissant oui c'est logique que ça me faisait cela. Merci !

                        • Partager sur Facebook
                        • Partager sur Twitter

                        Aligner Horizontalement des div issus d'une boucle

                        × 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