je n'arrive pas a utiliser while deux fois dans ma page

Ce sujet est résolu
Default
,

Bonjour,

Voila je rencontre un petit problème avec mon code.

Ce que je fais

je veux utiliser fetch plusieurs fois sur la meme requete

<?php

    $bdd = new PDO("mysql:host=localhost;dbname=burgercode;charset=utf8","root","",array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));

    $requet = $bdd->query('SELECT c.name AS onglet,i.name,i.description,i.image,i.price

    FROM categories AS c

    INNER JOIN items AS i

    ON c.id = i.category');

    ?>

<!DOCTYPE html>

<html>

    <head>

        <title>Burger Code</title>

        <meta charset="utf-8" name="viewport" content="width=device-width,initial-scale=1">

        <!-- jquery-->

        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.0/jquery.min.js"></script>

        <!-- bootstrap-->

        <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">

        <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>

        <!--icone-->

        <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.1/css/all.css" integrity="sha384-50oBUHEmvpQ+1lW4y57PTFmhCaXp0ML5d60M1M7uH2+nqUivzIebhndOJK28anvf" crossorigin="anonymous">

        <!--css-->

        <link href="css/styles.css" rel="stylesheet">

        <!--font-->

        <link href="https://fonts.googleapis.com/css?family=Holtwood+One+SC&display=swap" rel="stylesheet">

    </head>



    <body>

        <div class="container site">

            <h1 class="text-logo"><i class="fas fa-utensils"></i> Burger Code <i class="fas fa-utensils"></i></h1>

            <nav>

                         <ul class="nav nav-pills" id="myTab" role="tablist" >

                             <li class="nav-item" >

                                 <a href="#menus" class="nav-link active" data-toggle ="pill">Menus</a>

                             </li>

                             <li class="nav-item">

                                 <a  href="#burger" class="nav-link" data-toggle="pill">Burgers</a>

                             </li>

                             <li class="nav-item">

                                 <a  href="#snack" class="nav-link" data-toggle ="pill">snack</a>

                             </li>

                             <li class="nav-item">

                                 <a  href="#salade" class="nav-link" data-toggle ="pill">salade</a>

                             </li>

                             <li class="nav-item">

                                 <a  href="#boisson" class="nav-link" data-toggle ="pill">boisson</a>

                             </li>

                             <li class="nav-item">

                                 <a  href="#desserts" class="nav-link" data-toggle ="pill">desserts</a>

                             </li>

                         </ul>

             </nav>

             <div class="tab-content" id="myTabContent">

                         <div class="tab-pane fade show active" role="tabpanel" id="menus">

                             <div class="row">

                                 <?php

                                     while($donnees = $requet->fetch()){

                                         if($donnees["onglet"] == "Menus"){

                                  ?>

                                         <div class="col-md-6 col-lg-4 my-3">

                                             <div class="rounded bg-light">

                                                 <img src="images/<?php echo $donnees['image']; ?>" alt="ok"  style="width:100%">

                                                 <div class="price"><?php echo $donnees['price']; ?> dt</div>

                                                 <div class="caption">

                                                     <h4><?php echo $donnees['name']; ?></h4>

                                                     <p><?php echo $donnees['description']; ?></p>

                                                     <a href="#" class="btn btn-order" role="button"><i class="fas fa-shopping-cart"></i> commander</a>

                                                 </div>

                                             </div>

                                         </div>



                                 <?php



                                         }

                                 }



                                  $requet->closeCursor();

                                 ?>

                            </div>

                          </div>



                        <div class="tab-pane fade" id="burger" role="tabpanel">

                              <div class="row">

                                 <?php

                                     while($donnees1 = $requet->fetch()){

                                         if($donnees1["onglet"] == "Burgers"){

                                                 ?>

                                         <div class="col-md-6 col-lg-4 my-3">

                                             <div class="rounded bg-light">

                                                 <img src="images/<?php echo $donnees1['image']; ?>" alt="ok"  style="width:100%">

                                                 <div class="price"><?php echo $donnees1['price']; ?></div>

                                                 <div class="caption">

                                                     <h4><?php echo $donnees1['name']; ?></h4>

                                                     <p><?php echo $donnees1s['description']; ?></p>

                                                     <a href="#" class="btn btn-order" role="button"><i class="fas fa-shopping-cart"></i> commander</a>

                                                 </div>

                                             </div>

                                         </div>



                                 <?php



                                         }

                                 }

                                 ?>

                            </div>

                         </div>

                 </div>

        </div>

    </body>

</html>

Ce que je veux

Décrivez ici ce que vous cherchez à obtenir

Ce que j'obtiens

la premiere boucle fonctionne très bien mais la deuxieme ne me retourne rien

4 Réponse

40917
,

Bonsoir,

d'où sort $donnees1 ?
Tu peux passer par un fetchAll puis tu fais un foreach sur le résultat

Default
,

merci beaucoup tout marche bien...mais pourquoi ca ne passe pas avec while?

Default
,

Ok j'essaie

Default
,

merci beaucoup tout marche bien...j'aimerais comprendre pourquoi ca ne passe pas avec un while