Ankündigung

Einklappen
Keine Ankündigung bisher.

IDs auflisten

Einklappen

Neue Werbung 2019

Einklappen
Dieses Thema ist geschlossen.
X
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #16
    wenn du nur ein Produkt anzeigst einfach mit einem extra query auslesen.
    Code:
    select ... where productid = X
    wenn du das beim auflisten der produkte machen willst, so würde ich aus performance gründen einen query benutzen anstatt viele, am einfachsten nach dem auslesen der produkte die extras aller ausgelesenen produkte auslesen.

    Kommentar


    • #17
      Hey,
      ich glaube du versteht nicht was ich will ...

      Ich möchte nicht diese Ansicht:

      Produkt 1
      Produkt 2
      .
      .
      .

      Extra 1
      Extra 2

      Sondern diese:
      PRODUKT 1 ID: 1
      EXTRA 1 FÜR PRODUCTID: 1
      EXTRA 2 FÜR PRODUCTID: 1
      PRODUKT 2 ID: 2
      EXTRA 3 FÜR PRODUCTID: 2

      Und deshalb reicht es nicht wenn ich es mit mysql einfach nur mit select ... where .... mache und auch nicht wenn ich ein left join einbaue um die extras mit abzufragen

      Als Beispiel sollen alle Produkte die Schriftfarbe blau haben und die Extras eingerückt rot.

      Verstehst du es jetzt ?

      Kommentar


      • #18
        meine Antwort ändert sich nicht

        du müsstest das ganze erstmal in ein array schreiben und danach ausgeben oder eben für jedes Produkt einen extra "extra" Query ausführen.

        Kommentar


        • #19
          Hey,
          ich habe jeweils die Produkte in einem Array und die Extras in einem Array du meinst jetzt ich soll beides in eins schreiben oder wie?

          Ausgegeben wird es ja ...

          Kommentar


          • #20
            PHP-Code:
            # Produkte auslesen
            $result mysql_query("....");
            $produktID arrray();
            $product = array();
            while (
            $row mysql_fetch_assoc($result) {
              
            $produktID $row['id'];
              
            $product[$row['id']] = $row;
            }

            # extras auslesen
            $result mysql_query("... WHERE product_id IN(".implode(','$produktID)); 
            Jetzt kannst du die extras bei den Produkten mit ins array packen. Danach iterierst du das array durch und machst deine ausgabe.
            Natürlich noch checks einfügen, sonst gibt es ggf sql fehler!

            Kommentar


            • #21
              Hey,
              soll ich für die extras ein eigenes Array erstellen und das dann mit array_merge mit dem produkte array zusammefügen?

              Dann würde die Ausgabe aber nicht zugeordnet sein oder?

              Habe den Code jetzt so:

              PHP-Code:
                                          # Produkte auslesen
                                          
              $result mysql_query("SELECT * FROM products WHERE usrid = '$usrid'") or die(mysql_error());
                                          
              $produktID = array();
                                          
              $products = array();
                                          while(
              $row mysql_fetch_assoc($result)){
                                                
              $produktID $row['productid'];
                                                
              $products[] = $row;
                                          }
                                          
                                          
              # extras auslesen
                                          
              $implode implode(','$produktID);
                                          
              $result mysql_query("SELECT * FROM extra WHERE productid IN ('$implode')");
                                          while(
              $row mysql_fetch_assoc($result)){
                                               
              $products[] = $row;
                                          } 
              Allerdings verstand ich implode noch nie so richtig meiner Meinung nach ist da ja nichts falsch (an implode) aber es kommt trotzdem Bad arguments

              Kommentar


              • #22
                $produktID = array();
                Bis hier richtig. Aber:
                $produktID = $row['productid'];
                Nur noch ein Value.
                $implode = implode(',', $produktID);
                Schlägt jetzt natürlich fehl.
                [COLOR="#F5F5FF"]--[/COLOR]
                [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
                „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
                [COLOR="#F5F5FF"]
                --[/COLOR]

                Kommentar


                • #23
                  Hey,
                  ja das kommt davon wenn man zu schnell drüber sieht -.- - Danke

                  Allerdings ist damit das Problem ja noch nicht gelöst, ich habe in der Tabelle Produkte

                  Code:
                  Test Produkt 1
                  Test Produkt 2
                  und in der Tabelle Extras

                  Code:
                  Test Extra 1
                  Test Extra 2
                  stehen, die Ausgabe sieht nun so aus (nur bei Namensausgabe):

                  Code:
                  Test Produkt 1  	
                  Test Produkt 2 	
                  Test Extra 1

                  Extra 1 ist zu Produkt 1 und Extra 2 zu Produkt 2 zugeordnet.

                  Die Ansicht sollte jedoch so aussehen:

                  Code:
                  Test Produkt 1  
                     Test Extra 1
                  Test Produkt 2 
                     Test Extra 2
                  Wie kann ich das denn jetzt hinbekommen?

                  Kommentar


                  • #24
                    Indem Du Dich hinsetzt und über eine geeignete Variablenstruktur nachdenkst?! Klar, wenn ich etwas der Reihe nach hinschreibe, ist es hinterher in dieser Reihenfolge. Prinzipiell hast DU für Deine Extras die zugeh. ProductID verfügbar, also kann man das auch sinnvoll zuordnen.
                    [COLOR="#F5F5FF"]--[/COLOR]
                    [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
                    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                    [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
                    [COLOR="#F5F5FF"]
                    --[/COLOR]

                    Kommentar


                    • #25
                      Hey,
                      ja das mit der Reihenfolge der Ausgabe wundert mich ja nicht ...
                      aber dieser ganze Beitrag bezieht sich auf diese Frage wie ich es so ausgeben kann also das zuordnen und jeweils anderen Style (eingerückt) vergeben kann. Deine Antwort hilft mir jetzt nicht wirklich weiter da ich keine Ahnung habe wie ich das machen soll ...

                      Kommentar


                      • #26
                        [MAN]array[/MAN]s, key = produkt id; valueArray = extra(s)

                        Kommentar


                        • #27
                          Hey,
                          ja das weiß ich ja jetzt und ist ja auch klar aber ich weiß eben nicht wie ich es hinbekomme die Extras zu Produkt 1 direkt unter Produkt 1 zu schreiben:
                          ich müsste es ja ca. so machen:
                          PHP-Code:
                          foreach($products as $product){
                          echo 
                          $product['name'];
                          ...
                          if(
                          in_array($product['id'],$valueArray)){
                          echo 
                          $valueArray['id'];
                          }

                          Hoffe ihr versteht mein Problem jetzt ich weiß eben nicht wie ich diesen Abschnitt umsetzen soll:
                          PHP-Code:
                          if(in_array($product['id'],$valueArray)){
                          echo 
                          $valueArray['id'];

                          Kommentar


                          • #28
                            Vielleicht zeigst du uns noch mal, wie dein Code jetzt nach 3 Tagen Arbeit aussieht. Nur ein
                            ich müsste es ja ca. so machen:
                            ist ein bisschen wenig.
                            [URL]http://hallophp.de[/URL]

                            Kommentar


                            • #29
                              Hey,
                              ich habe keine 3 Tage gearbeitet und mich in dieser Zeit nicht gemeldet weil ich keine Zeit hatte ...

                              Ich müsste es ja ca. so machen soll nur zum Verständnis dienen.

                              Meine Frage bezieht sich konkret darauf wie ich bei array_search (oder eben anderer Funktion) die ID dann zurück bekomme ?
                              Und ob das so geht oder anderst?

                              Kommentar


                              • #30
                                Meine Frage bezieht sich konkret darauf wie ich bei array_search (oder eben anderer Funktion) die ID dann zurück bekomme ?
                                Über die foreach-Syntax? Indem Du mal ins Manual schaust? [MAN]array_search[/MAN] Du erwartest ehrlich, dass uns das zu blöd wird und wir Dir hier die Lösung hinschreiben oder was?

                                und mich in dieser Zeit nicht gemeldet weil ich keine Zeit hatte ...
                                Dann melde Dich bitte, wenn Du Zeit hattest und Energie in die Problemlösung gesteck hast. Modell Helmut Kohl funktioniert hier nicht.
                                [COLOR="#F5F5FF"]--[/COLOR]
                                [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
                                „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                                [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
                                [COLOR="#F5F5FF"]
                                --[/COLOR]

                                Kommentar

                                Lädt...
                                X