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

  • IDs auflisten

    Hey,

    ich habe eine Tabelle in dieser sind Produkt IDs nun sollen alle Produkte eines Benutzers ausgewählt werden und aus einer anderen Tabelle alle Produkte die die Produktids haben ....

    Mein Code sieht so aus:

    PHP-Code:
                                $sql2 "SELECT productid FROM products WHERE usrid = '$usrid'";  
                                
    $result2 mysql_query($sql2) or die(mysql_error());

                                while(
    $row2 mysql_fetch_array($result2)){
                                    
    $id $row2['productid'];
                                    
    $productidsonly[$id][] = $row2;
                                }

                                foreach (
    $productidsonly as $id => $product) {
                                    for (
    $i 0$x count($product); $i $x; ++$i) {  
                                           
    $allproductids implode(' , '$product[$i]);
                                    }  
                                } 
    Wenn ich nun in der 2. Tabelle 2 Dinge habe mit Produktid 1 und 2 dann kommt bei echo $allproductids nur 2,2 anstatt 1,2
    woran liegt das?

    Schonmal vielen Dank


  • #2
    Der Code macht für mich sehr wenig Sinn
    Warum soll $productidsonly[1][0] auf 1,
    $productidsonly[2][0] auf 2,
    usw. gesetzt werden?
    $productidsonly[] = $id;
    wäre sehr viel sinnvoller als
    $productidsonly[$id][] = $row2;
    da in $row2 sowieso nur die productid steht?!

    Ansonsten ist auch die Verschachtelung von foreach und for sehr sinnlos, da man dann einfach
    foreach($productidsonly as $id){
    echo $id.", ";
    }
    machen kann

    Kommentar


    • #3
      könntest du den code nicht in den phph-tags schreiben
      PHP-Code:
      if ( $humans >= ) {
         
      war ();

      Kommentar


      • #4
        Hey,
        jetzt habe ich es so wie du gesagt hast:

        PHP-Code:
                                    $sql2 "SELECT productid FROM products WHERE usrid = '$usrid'";  
                                    
        $result2 mysql_query($sql2) or die(mysql_error());

                                    
                                    while(
        $row2 mysql_fetch_array($result2)){
                                        
        $id $row['productid'];
                                        
        $productidsonly[] = $id;
                                    }

                                    foreach(
        $productidsonly as $id){
                                        
        $allproductids implode(' | '$id);
                                    } 
        funktioniert aber trotzdem nicht ?!?

        Kommentar


        • #5
          Zitat von sdcleitung Beitrag anzeigen
          Hey,
          jetzt habe ich es so wie du gesagt hast:

          PHP-Code:
                                      $sql2 "SELECT productid FROM products WHERE usrid = '$usrid'";  
                                      
          $result2 mysql_query($sql2) or die(mysql_error());

                                      
                                      while(
          $row2 mysql_fetch_array($result2)){
                                          
          $id $row['productid'];
                                          
          $productidsonly[] = $id;
                                      }

                                      foreach(
          $productidsonly as $id){
                                          
          $allproductids implode(' | '$id);
                                      } 
          funktioniert aber trotzdem nicht ?!?
          "Funktioniert nicht" ist keine ausreichende Fehlerbeschreibung!

          Du "implode"st einen String ($id)... sinnvoller wäre wohl
          PHP-Code:
          $allproductids implode(' | '$productidsonly); 
          Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

          Kommentar


          • #6
            Zitat von lstegelitz Beitrag anzeigen
            ich habe eine Tabelle in dieser sind Produkt IDs nun sollen alle Produkte eines Benutzers ausgewählt werden und aus einer anderen Tabelle alle Produkte die die Produktids haben ....
            Würde das nicht besser mit einer richtigen Selectanweisung besser funtionieren?

            wie z.B.
            Code:
            "SELECT products.productid, andereTabelle.productid FROM products, andereTabelle WHERE usrid = '$usrid' AND  products.productid=andereTabelle.productid";
            Somit hast du alle Produktid's deiner Produkttabelle und aus der zweiten.

            Gruß niesel

            Kommentar


            • #7
              Nanü? Ein Quote von mir, den ich gar nicht geschrieben habe?
              Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

              Kommentar


              • #8
                Da hat er wohl nen Copy&Pasta-fail hingelegt...
                Können sich die Leute eigentlich nicht mal angewöhnen alles in schön lesbarer Form zu posten?

                Was ist wohl besser zu lesen:
                Code:
                 "SELECT products.productid, andereTabelle.productid FROM products,  andereTabelle WHERE usrid = '$usrid' AND   products.productid=andereTabelle.productid";
                oder
                Code:
                "SELECT products.productid, andereTabelle.productid 
                FROM products,  andereTabelle 
                WHERE usrid = '$usrid' AND  
                      products.productid=andereTabelle.productid";
                "My software never has bugs, it just develops random features."
                "Real programmers don't comment. If it was hard to write, it should be hard to understand!"

                Kommentar


                • #9
                  Hey,
                  danke für den Tipp ich habe die Abfrage jetzt ein bisschen umgeschrieben:

                  PHP-Code:
                                              $sql2 "SELECT a.productid, a.name, a.text, a.link 
                                              FROM extra a
                                              LEFT JOIN products b ON (b.productid = a.productid)
                                              WHERE b.usrid = '
                  $usrid'"
                  Stimmt so oder?

                  Jetzt weiß ich allerdings nicht ob ich mein Vorhaben mit dieser Abfrage lösen kann oder es doch mit PHP machen sollte:

                  Ich habe ja eben diese beiden Produkt Tabellen nun möchte ich die Produkt Extras aus der 2. Tabelle direkt den Produkten der 1. Tabelle zuordnen also so:

                  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

                  Kommentar


                  • #10
                    Das SQL sieht richtig aus, geh einfach hin und schreib die Spalten der zweiten Tabelle hinter die anderen selektierten Spalten:

                    PHP-Code:
                    <?php
                    $sql2 
                    "SELECT a.productid, a.name, a.text, a.link, b.productInfo1, b.productInfo2
                             FROM extra a
                             LEFT JOIN products b ON (b.productid =  a.productid)
                             WHERE b.usrid = '
                    $usrid'";
                    "My software never has bugs, it just develops random features."
                    "Real programmers don't comment. If it was hard to write, it should be hard to understand!"

                    Kommentar


                    • #11
                      Hey,
                      nein du hast das nicht ganz verstanden, es sollen keine Produkt Infos angezeigt werden sondern zusatzprodukte aus der 2. tabelle (sqlabfrage: extra a)

                      Kommentar


                      • #12
                        Stehen die daten "extra a" in einer anderen Tabelle?
                        Dann musst du diese einfach dran joinen und die Spalten mit angeben, die ausgelesen werden sollen.
                        "My software never has bugs, it just develops random features."
                        "Real programmers don't comment. If it was hard to write, it should be hard to understand!"

                        Kommentar


                        • #13
                          Hey,
                          verstehe deinen Beitrag gerade nicht -.-
                          Also nochmal ich habe eine Tabelle Produkte
                          und eine Tabelle Extras (also Erweiterungen zu den Produkten)

                          Wie kann ich diese Extras zu den Produkten zuordnen ?

                          :
                          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

                          Ich möchte eben nicht nur das es so ist
                          Produkt 1
                          Extra 1
                          sondern eben dann die Extras einen anderen Style als die Produkte ?!?

                          Kommentar


                          • #14
                            mit einer dritten tabelle, in der du die extras den produkten zuweist - SOFERN ein extra für mehrere produkte gelten kann

                            Wenn ein extra nur einem produkt zugeordnet werden kann dann reicht in der tabelle für die extras eine spalte mit der produktid

                            Kommentar


                            • #15
                              Hey,
                              ja ein Extra kann nur einem Produkt zugeordnet werden und in der Tabelle ist logischerweiße eine Spalte Productid ...

                              ich weiß aber nicht wie ich es machen soll, dass die Extras den Produkten in der Ausgabe zugeordnet werden !!!

                              Kommentar

                              Lädt...
                              X