Array ausgabe foreach

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

  • Array ausgabe foreach

    Hi

    Ich stehe vor einem kleinen Problem.
    Ich ahbe diesen Code:

    PHP-Code:
    while($row mysql_fetch_array($result)) {
    $namen = array($row['attridar']);
    foreach(
    $namen as $unit) {
    $result2=mysql_query("SELECT * FROM test WHERE attribut_id='$unit'");
    while(
    $row2 mysql_fetch_array($result2)) {
    $aaa=$aaa.$row2['attr_prodid'];
    }

    In der ersten While sind es drei objekte. Die ausgabe die sein sollte wäre so:
    Test1 | -1-5
    Test2 | -1-6
    Test3 | -3-4
    (Die Zahlen hinten sind die die er ausliest mit $aaa)
    Jedoch gibt er mir dies aus:
    Test1 | -1
    Test2 | -1-1
    Test3 | -1-1-3

    Warum ist dies? Habe ich irgendwo einen Denkfehler?

    Danke für eure Hilfe.

    gruss

    kari_w

  • #2
    Re: Array ausgabe foreach

    Warum ist dies? Habe ich irgendwo einen Denkfehler?
    PHP-Code:
    $aaa=$aaa.$row2['attr_prodid']; 
    könnte es daran liegen?
    Die Zeit hat ihre Kinder längst gefressen

    Kommentar


    • #3
      Hallo.

      Können ja aber was ist daran falsch bez was müsste ich dazu ändern?
      Er müsste dies doch somit richtig machen?

      Gruss

      kari_w

      Kommentar


      • #4
        hmm,

        ich weiß ja nicht, wo du das $aaa ausgibst, aber irgendwo mußt du es wieder zurücksetzten, in der schleife, sonst stehen da irgendwann alle werte drin.
        Die Zeit hat ihre Kinder längst gefressen

        Kommentar


        • #5
          Super aber auch noch nicht ganz.

          Nun gibt er statt dies:
          Test1 | -1-5
          Test2 | -1-6
          Test3 | -3-4

          Das hier aus:
          Test1 | -1
          Test2 | -1
          Test3 | -3
          Also aus irgendeinem Grund nur den ersten wert und nicht alle. Er müsste theoretisch mehr ausgeben.

          gruss

          kari_w

          Kommentar


          • #6
            warum sollte er mehr ausgeben?
            insgesamt schreibst du ja nur den wert der spalte
            $row2['attr_prodid'] in deine variable oder steht in dieser spalte mehr drin?

            Kommentar


            • #7
              OffTopic:
              je länger ich deinen code anschau, desto unsinniger erscheint er mir


              poste mal bitte nen tabellen-dump ...
              Die Zeit hat ihre Kinder längst gefressen

              Kommentar


              • #8
                Hi

                $namen = array($row['attridar']);
                In der $row[attridar] steht 1,6 als beispiel. Es können auch mehr zahlen drin stehen.
                Mit der foreach wollte ich bezwecken, dass er mir pro Zahl diese Select abfrage macht. Daher müsste er mir ja eigentlich dies ausgeben:

                Test1 | -1-5
                Test2 | -1-6
                Test3 | -3-4
                Was ist denn daran falsch, dass er mir nicht alle ausgibt?

                SQL:
                Es gibt die felder id, und attr_prodid
                Die ID sind die zahlen im array und attr_prodid ist das was ich in $aaa reinspeicher.

                Gruss

                kari_w

                Kommentar


                • #9
                  Ich habe nun nochmals geschaut auf der Manual Seite.
                  Theoretisch müsste er doch in diesem foreach soviel mal durchlaufen, wie er werte im array hat. Und somit müsste es doch ausgegeben werden oder?? Gibt es da keine möglichkeit?

                  Gruss

                  kari_w *knuddel*

                  Kommentar


                  • #10
                    hmm,

                    theoretisch? wie wärs mit praktisch?

                    PHP-Code:
                    $namen = array($row['attridar']);
                    echo 
                    '<pre>';
                    print_r ($namen);
                    echo 
                    '</pre>'
                    ausgabe?
                    Die Zeit hat ihre Kinder längst gefressen

                    Kommentar


                    • #11
                      Original geschrieben von derHund
                      hmm,

                      theoretisch? wie wärs mit praktisch?

                      PHP-Code:
                      $namen = array($row['attridar']);
                      echo 
                      '<pre>';
                      print_r ($namen);
                      echo 
                      '</pre>'
                      ausgabe?
                      Praktisch würde ich sagen, dass mir dein Code alles andere als weiterhilft.
                      Die Select abfrage ist nicht vorhanden.
                      Um diesen Code gehts wie ich ihn gepostet habe was nicht Funktioniert.
                      Hast du dafür einen Tipp?

                      Gruss

                      kari_w

                      Kommentar


                      • #12
                        ja,

                        wenn du meine hilfe nicht willst, ich hab hier mein bier ...

                        ansonsten würde ich dich doch mal bitten, meinen code auszuführen, und die ausgabe zu posten ... danke.

                        daß der code nicht das macht, was du willst, ist ja wohl klar. er macht aber das, was ich überprüfen will. ich nenne das debuggen, falls du das kennst ...

                        ich will doch nur überprüfen, ob dein array so konstruiert wird, wie du das willst ...
                        Die Zeit hat ihre Kinder längst gefressen

                        Kommentar


                        • #13
                          Sorry das tut mir leid da hab i di wohl falsch verstanden *knuddel*

                          Die ausgabe ist die:

                          Array
                          (
                          [0] => 1,6
                          )

                          Array
                          (
                          [0] => 1,5
                          )

                          Array
                          (
                          [0] => 3,4
                          )

                          Die Zahlen sind nur in meinem beispiel gleich wie in meiner ausgabe. normalerweise sind die ja anders daher ist die select abfrage.

                          Kommentar


                          • #14
                            hmm,

                            jetzt ham wir den knackpunkt doch, oder?

                            du wolltest nen array, daß als elemente 1 und 6 hat?
                            jetzt haste nen array, das als element '1,6' hat?
                            scheint mir zumindest so ...

                            mach mal aus
                            PHP-Code:
                            $namen = array($row['attridar']); 
                            PHP-Code:
                            $namen explode (','$row['attridar']); 
                            und wende dann bitte nochmal mein print_r-schnipsel auf $namen an ...
                            Die Zeit hat ihre Kinder längst gefressen

                            Kommentar


                            • #15
                              jaaaaaaaaaaaaaaaa das ist es genau!!!
                              Array
                              (
                              [0] => 1
                              [1] => 6
                              )

                              Array
                              (
                              [0] => 1
                              [1] => 5
                              )

                              Array
                              (
                              [0] => 3
                              [1] => 4
                              )



                              Nun funktioniert es auch mti der select.
                              Herzlichen Dank *knuddel*!!!

                              Was habe ich denn so schlecht erklärt?

                              gruss

                              kari_w

                              Kommentar

                              Lädt...
                              X