Partage
  • Partager sur Facebook
  • Partager sur Twitter

problème de foreach

Sujet résolu
    12 octobre 2006 à 19:43:58

    Bonjour

    Désoler de vous embêter :p .Voilà j'ai un petit problème d'affichage avec un foreach.

    J'ai une table avec deux hotels et je voudrais afficher leurs nom comme ça :
    hotel1
    hotel2

    Le souci c'est qu'avec mon foreach ça donne sa :[NomHotel] vaut hotel1.
    En fait il n'en affiche qu'un seul.

    Voilà mon code :




    <?php

            mysql_connect("localhost", "root", ""); //connection au serveur
            mysql_select_db("site_voyage"); //connection à la base de donnée
           
            //on sélectionne les excursions proposés dans la base de donnée
            $resultat=mysql_query("SELECT NomHotel FROM Hotel")or die (mysql_error());
            $element=mysql_fetch_assoc($resultat)
           
            foreach($element as $nom => $valeur)
            {
                    echo '[' . $nom . '] vaut ' . $valeur . '<br />';
            }

            mysql_close();//on ferme la connection

    ?>


    Merci d'avance pour votre aide :magicien: .
    • Partager sur Facebook
    • Partager sur Twitter
      12 octobre 2006 à 19:55:12

      C'est normal, la façon dont tu as mis ton foreach sert à récupérer les clé du tableau. Dans ce cas dans ta table tu as un champ NomHotel donc le résultat de mysql_fetch_assoc te retourne dans ta varibale $element un tableau avec les noms des champs comme clé et la valeur est la valeur du champ.

      Ton exemple: champ NomHotel = hotel1

      En fait ton foreach est inutile dans ton cas, il faut utiliser la boucle while de cette manière:
      <?php

              mysql_connect("localhost", "root", ""); //connection au serveur
              mysql_select_db("site_voyage"); //connection à la base de donnée
             
              //on sélectionne les excursions proposés dans la base de donnée
              $resultat=mysql_query("SELECT NomHotel FROM Hotel")or die (mysql_error());
              while ( ($element=mysql_fetch_assoc($resultat)) !== false) {
                      echo $element['NomHotel'] . '<br />';
              }

              mysql_close();//on ferme la connection

      ?>



      EDIT 20h10 j'ai oublié des parenthèse :)
      • Partager sur Facebook
      • Partager sur Twitter
        12 octobre 2006 à 20:26:46

        Ah! :( Ca affiche plus rien !! On voit bien qu'il y a quelque chose mais y a rien d'écrit.

        • Partager sur Facebook
        • Partager sur Twitter
          13 octobre 2006 à 18:23:06

          Effectivement avec les paranthèses c'est mieux ;) . Merci beaucoup maintenant ça marche super bien :magicien: .
          • Partager sur Facebook
          • Partager sur Twitter

          problème de foreach

          × 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