Partage
  • Partager sur Facebook
  • Partager sur Twitter

pobleme de boucle

    7 juin 2007 à 21:30:35

    Bonsoir j'ai un petit probleme avec une boucle heuu en faite avec deux boucle.

    voici le bot de code :



    <? $reponse = mysql_query('SELECT * FROM menu_dynamique WHERE niveau=1 AND section="Bijoux"');?>
                     <? while($donnees = mysql_fetch_assoc($reponse)){?>
                     <? if ($donnees['validation'] == "non"){?>
                     <li><a href="menu 1"><? echo $donnees['nom'];?></a>
                      <?} elseif ($donnees['validation'] == "oui"){?>
                      <li class="sousmenu"><? echo $donnees['nom'];?>
              <ul class="niveau3">
    <? $rep = mysql_query('SELECT * FROM menu_dynamique WHERE section=".$donnees['nom']."');?>
              <? while($don = mysql_fetch_assoc($rep)){?>
              <li><a href="articles.php?type=lingerie_shorty"><? echo $don['nom'];?></a></li><?}?>
              </ul></li>
              <?}}?>


    lorsque que j'affiche ma page rien ne s'affiche.
    Le pobleme vient de la <? $rep = mysql_query('SELECT * FROM menu_dynamique WHERE section=".$donnees['nom']."');?> je suis obligé de selection dans ma base les entrees avec lesquelle correspond la section qui a été afficher un peu plus haut.
    • Partager sur Facebook
    • Partager sur Twitter
      7 juin 2007 à 21:42:50

      Bonjour,
      alors, tout d'abord, on ne le dira jamais assez, mais php c'est "<?php" et pas "<?". Ensuite, c'est sale, je sais pas comment tu peux t'y retrouver, mais tous les "?> <?" ne servent strictement à rien.

      Tu t'es bien connecté à ta base de donnée avant?

      Bon courage,
      Amicalement,
      M@dinko12
      • Partager sur Facebook
      • Partager sur Twitter
        8 juin 2007 à 1:09:27

        Desoler pour le code mais j'ai fais vite fais, là j'ai enlever un peu de bordel.

        <?php $reponse = mysql_query('SELECT * FROM menu_dynamique WHERE niveau=1 AND section="Bijoux"');                  while($donnees = mysql_fetch_assoc($reponse)){
        if ($donnees['validation'] == "non"){?>

                          <li><a href="menu 1"><? echo $donnees['nom'];?></a>
                          <?php} elseif ($donnees['validation'] == "oui"){?>
                          <li class="sousmenu"><? echo $donnees['nom'];?>
                          <ul class="niveau3">
        <?php $rep = mysql_query('SELECT * FROM menu_dynamique WHERE section=".$donnees['nom']."');
        while($don = mysql_fetch_assoc($rep)){?>

                           <li><a href="articles.php?type=lingerie_shorty"><? echo $don['nom'];?></a></li>
                           <?php}?>
                           </ul></li>
                           <?php}}?>


        Pour repondre, oui je suis bien connecter a la base car la premiere boucle marche, meme la deuxieme mais c'est dés que je mais
        section=".$donnees['nom']."
        sa ne m'affiche plus rien
        • Partager sur Facebook
        • Partager sur Twitter
          8 juin 2007 à 1:22:22

          Tu as commis une faute dans ta requête ^^ :
          Correction :
          $rep = mysql_query('SELECT * FROM menu_dynamique WHERE section="'.$donnees['nom'].'"');

          Le problème était dans la concaténation ...
          Sinon regarde ce code et compare le au tien :
          <?php
          $reponse = mysql_query('SELECT * FROM menu_dynamique WHERE niveau=1 AND section="Bijoux"');       
                   
          while($donnees = mysql_fetch_assoc($reponse)){
                  if ($donnees['validation'] == "non"){
                          echo'<li><a href="menu 1">'.$donnees['nom'].'</a>';
              }
                  elseif ($donnees['validation'] == "oui"){
                  echo '<li class="sousmenu">'.$donnees['nom'].'
                  <ul class="niveau3">'
          ;
                         
                          $rep = mysql_query('SELECT * FROM menu_dynamique WHERE section="'.$donnees['nom'].'"');
                         
                          while($don = mysql_fetch_assoc($rep)){
                                  echo'<li><a href="articles.php?type=lingerie_shorty">'.$don['nom'].'</a></li>';
                  }
                 echo' </ul></li>';
              }
          }
          ?>

          Le mien est plus lisible parce que je n'ouvre pas des <?php plusieurs fois (celà ralenti ton code)
          Apprends à utiliser echo ;)
          • Partager sur Facebook
          • Partager sur Twitter
            8 juin 2007 à 1:40:31

            J'ai chercher pdt 3min mais je vois pas ce que tu as modifier. Ca prend pourtant pas tellement de temps de mettre en gras ce qui change...
            • Partager sur Facebook
            • Partager sur Twitter
              8 juin 2007 à 1:42:30

              Citation : k@cem

              Correction :

              $rep = mysql_query('SELECT * FROM menu_dynamique WHERE section="'.$donnees['nom'].'"');


              Le problème était dans la concaténation ...


              Comme ça ?
              • Partager sur Facebook
              • Partager sur Twitter
                8 juin 2007 à 12:47:47

                merci pour vos reponse, sa marche nickel maintenant.
                Il me reste plus qu'a pofiner mon codage sur les autre pages.
                • Partager sur Facebook
                • Partager sur Twitter
                  8 juin 2007 à 13:29:02

                  N'oublie pas de marquer ton topic comme résolu
                  • Partager sur Facebook
                  • Partager sur Twitter

                  pobleme de 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