bug im join

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • bug im join

    Hallo!
    Ich habe 3 Tabellen
    # TProdukte
    [ProduktID - ProduktBeschreibung - .....]
    # TMethoden
    [MethodenID - MethodenName- ...]
    #TProdukteMethoden (Verbindungstabelle)
    [ProduktID - MethodenID]

    Ich möchte es so darstellen (o.ä.)

    Der Methode XY sind die Produkte 3,5,6,14 zugeordnet
    Der Methode XY sind die Produkte 3,5,6,7 zugeordnet
    usw.

    Meine Abfrage
    PHP-Code:
    $sql "SELECT * FROM TProdukte pro
    inner join
    TProdukteMethoden ref
    on ref.ProduktID=pro.ProduktID
    inner join
    TMethoden pru
    on pru.MethodenID=ref.MethodenID order by pro.ProduktID"
    ;


    $result mysql_query($sql) OR die(mysql_error());            

    while(
    $row mysql_fetch_assoc($result)) 
    {
    $ProduktID=$row['ProduktID'];
    $MethodenID=$row['MethodenID'];
    $MethodenName=$row['MethodenName'];
    $ProduktName=$row['ProduktName'];

    #TEST-AUSGABE!!!!

    echo $ProduktID;
    echo 
    "<br>-";
    echo 
    $MethodenID;
    echo 
    "<br>- $MethodenName<br>[$ProduktName]<br><br><br>";


    Leider wird alles "Kreuz-Und-Quer" angezeigt!? Warum?
    Wo ist der Bug?

    DANKE!!

  • #2
    Re: bug im join

    Leider wird alles "Kreuz-Und-Quer" angezeigt!?
    aha.

    suchst du eventuell nach gruppenwechsel?
    Die Zeit hat ihre Kinder längst gefressen

    Kommentar


    • #3
      gruppenwechsel???

      Kommentar


      • #4
        gruppenwechsel?
        Die Zeit hat ihre Kinder längst gefressen

        Kommentar


        • #5
          OffTopic:
          Testausgaben bitte, zumindest teilweise, mitposten.


          Achja, Gruppenwechsel
          Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
          var_dump(), print_r(), debug_backtrace und echo.
          Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
          Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
          Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

          Kommentar


          • #6
            ich habe es mal ein wenig umgestellt - so sieht es dann in der ausgabe besser aus

            PHP-Code:
            while($row mysql_fetch_assoc($result)) 
            {
            $ProduktID=$row['ProduktID'];
            $MethodenID=$row['MethodenID'];
            $MethodenName=$row['MethodenName'];
            $ProduktName=$row['ProduktName'];
            echo 
            "<b>Methode: $MethodenID $MethodenName</b> -----  Produk: $ProduktID  $ProduktName";
            echo 
            "<br><br><br>";


            ausgabe:
            HTML-Code:
            Methode: 1 Strom ----- Produk: 36 erstes ProduktEin erstes Produ
            Methode: 1 Strom ----- Produk: 38 Ein super Produkt
            Methode: 2 Hassenichtgesehen ----- Produk: 8 asdf asdfas
            Methode: 2 Hassenichtgesehen ----- Produk: 10 as dfasdf asdf asd fas dfasdf
            wie kriege ich es hin, dass jetzt da steht
            Methode: 1 Strom -- Produkt 36, Produkt 38
            Methode: 2 Hassenichtgesehe -- Produkt 8, Produkt 10

            ???

            Kommentar


            • #7
              Indem du nach dem so oft hier stehenen Begriff "Gruppenwechsel" suchst?
              Ich denke, also bin ich. - Einige sind trotzdem...

              Kommentar


              • #8
                meint ihr z.b. dieses hier "klassischer gruppenwechsel"?
                http://www.php-resource.de/forum/sho...d/t-32831.html

                nur, wie soll das in mein script eingebunden werden?

                Kommentar


                • #9
                  Eher http://dev.mysql.com/doc/mysql/en/gr...modifiers.html und folgende.

                  Kommentar


                  • #10
                    folgender versuch bringt mich nicht viel weiter

                    PHP-Code:
                    $sql "SELECT * FROM TProdukte pro
                    inner join
                    TProdukteMethoden ref
                    on ref.ProduktID=pro.ProduktID
                    inner join
                    TMethoden pru
                    on pru.MethodenID=ref.MethodenID 
                    GROUP BY ref.pruefmethodenID"

                    ausgabe
                    HTML-Code:
                    Methode: 1 Strom ----- Produk: 36 erstes ProduktEin erstes Produ
                    Methode: 2 Nochwas ----- Produk: 36 erstes ProduktEin erstes Produ
                    Methode: 3 Wieauchimmer----- Produk: 6 a fasdf asdf asdf 
                    Methode: 4 Istnix ----- Produk: 13 noch ein produkt
                    wo sind jetzt die anderen produkte geblieben?



                    was mach ich falsch?

                    Kommentar


                    • #11
                      Original geschrieben von onemorenerd
                      Eher http://dev.mysql.com/doc/mysql/en/gr...modifiers.html und folgende.
                      Eher nicht

                      Der normale Gruppenwechsel in PHP hilft dir da schon weiter, wie sehen denn deine Versuche aus?
                      Ich denke, also bin ich. - Einige sind trotzdem...

                      Kommentar


                      • #12
                        nun ja, meine versuche siehst du weiter oben 'Group' / 'Schleife'... oder auch
                        http://dev.mysql.com/doc/mysql/en/gr...modifiers.html

                        aber was ist denn jetzt wieder der
                        normale Gruppenwechsel
                        ??
                        ich finde aber auch nix zu "verbindungstabellen" etc. was mir weiterhelfen könnte.


                        wie soll ich vorgehen?

                        danke!!!!!

                        Kommentar


                        • #13
                          Original geschrieben von websdream
                          meint ihr z.b. dieses hier "klassischer gruppenwechsel"?
                          http://www.php-resource.de/forum/sho...d/t-32831.html

                          nur, wie soll das in mein script eingebunden werden?
                          sowas meinen wir

                          und auf deine versuche warten wir
                          Ich denke, also bin ich. - Einige sind trotzdem...

                          Kommentar


                          • #14
                            der versuch

                            PHP-Code:
                            $count=0
                            while(
                            $row mysql_fetch_assoc($result)) 
                            {
                                    
                            $ProduktID=$row['ProduktID'];
                                    
                            $MethodenID=$row['MethodenID'];
                                    
                            $MethodenName=$row['MethodenName'];
                                    
                            $ProduktName=$row['ProduktName'];
                                
                                
                                    if(
                            $count == 0
                                    {
                                        echo 
                            "<b>Prüfmethoden: $MethodenID $MethodenName</b>";
                                        
                            $count++; 
                                    }
                                    
                                    echo 
                            " -----  Produk: $ProduktID  $ProduktName";
                            echo 
                            "<br><br><br>";


                            ausgabe passt allerdings nicht wirklich - dank meiner schleife wird nur die erste methode ausgegeben........

                            Kommentar


                            • #15
                              ich habe es mit schleifen probiert.
                              krieg ich nicht hin........

                              wie soll ich die hier integrieren? MethodenName soll ja nur "einmal" pro methode angezeigt werden, die ProduktNamen komplett im anschluss.
                              Methode: 1 Strom -- Produkt 36, Produkt 38
                              Methode: 2 Hassenichtgesehe -- Produkt 8, Produkt 10


                              sorry, bin noch nicht wirklich fit und hänge mich an diesem problem schon seit tagen auf.....

                              danke!

                              Kommentar

                              Lädt...
                              X