mehrere Selects zu einem select zusammen...

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

  • mehrere Selects zu einem select zusammen...

    Hallo Leute,

    hab folgenden Code:

    PHP-Code:
    $sql_art mysql_query("
    SELECT 
                    vari1,
        vari2,
        vari3,
        vari4,
        artikel_name
    FROM "
    .TABLE_PRODUKTE."
        where kat = 1 
        and aktiv = 1 
        order by artikel_name 
        LIMIT 0, 10"
    );
    //artikel while
    while($row mysql_fetch_object($sql_art))
    {

    //selectbox 1 zusammenbauen
    if(!empty($row->vari1))
    {

        
    $sql_vari mysql_query("SELECT 
                                                    name 
                FROM " 
    TABLE_VARIANTEN 
                where optionen = "
    .$row->vari1."");
        
        while(
    $row_vari mysql_fetch_object($sql_vari))
        {
                     
    //code für die selectbox, gekürzt
        
    $var .= $row_vari->name;
        }

    }

    //das ist halt 4x in der Artikelwhile schleife drin
    if(!empty($row->vari2))
    {
    //halt die selbe abfrage und whileschleife wie für vari1
    $abfrage
    while()
    {}
    }


    meine Überlegung ist jetzt die 4 Abfragen für die Auswahlboxen mit anschliessender while schleife in einem auszuführen.

    Nun ist die frage ob das Überhaupt vernünftig möglich ist.
    mfg
    marc75

    <Platz für anderes>

  • #2
    mit joins ist dir nicht geholfen?
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      mit left join hab ich gerade probiert

      hab da aber ein gedanken fehler drin, er wirft mir hierbei noch andere optionen mit aus.

      muss mal inner join probieren.
      mfg
      marc75

      <Platz für anderes>

      Kommentar


      • #4
        hab das jetzt mit left right und inner join probiert, dabei wirft mir die abfrage unmengen von ergebnissen aus.

        Beispiel
        PHP-Code:
        //abfrage artikel
        while(ausgabe)

         
        $sql_vari mysql_query("
         SELECT 
            t1.name as namevari1,
            t2.name as namevari2,
            t3.name as namevari3,
            t4.name as namevari4
        FROM  puzzle_varianten t1

                  INNER JOIN puzzle_varianten t2
                 ON t2.optionen = "
        .$row->vari2."
                      INNER JOIN puzzle_varianten t3
                     ON t3.optionen = "
        .$row->vari3."
                          INNER JOIN puzzle_varianten t4
                         ON t4.optionen = "
        .$row->vari4."
             WHERE t1.optionen = "
        .$row->vari1."
                    "
        ) or die (mysql_error()); 

        hab auch schon versucht die varianten joins in die artikelabfrage mit einzufügen, das verträgt sich bei der ausgabe aber irgendwie mit limit nicht.
        (statt 10 artikel sind es 1 artikel und 9 optionen)
        mfg
        marc75

        <Platz für anderes>

        Kommentar


        • #5
          dein ejoins machen m.E. auch keinen sinn. Die verknüpfungen sind schlichtweg falsch.
          Beantworte nie Threads mit mehr als 15 followups...
          Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

          Kommentar


          • #6
            Original geschrieben von MelloPie
            dein ejoins machen m.E. auch keinen sinn. Die verknüpfungen sind schlichtweg falsch.

            besserer Vorschlag?


            PHP-Code:
             SELECT 
                 t0
            .id,
                 
            t0.vari1,
                 
            t0.vari2,
                 
            t0.vari3,
                 
            t0.vari4,
                
            t1.name as namevari1
            FROM  puzzle_produkte t0
                INNER JOIN puzzle_varianten t1
                ON t1
            .optionen t0.vari1
                
            AND t1.optionen != 0
                    Where t0
            .id ".$row->id." 
            So würde es für eine Selectbox funktionieren, aber sobalt ich jetzt ein zweiten Join einfüge gibt er die Ergebnisse 3 fach aus. Wobei er die von der zweiten vari noch anders sortiert.
            mfg
            marc75

            <Platz für anderes>

            Kommentar


            • #7
              ich verstehe dein Problem nicht.
              ich habe so verstanden:
              - du hast eine Artikeltabelle und 4 Artikelvarianten
              - du möchtest 4 checkboxen mit den 4 Varianten für eine Artikel haben
              stimmt ?

              (sorry, bin heut' etwas begriffstutzig )

              Kommentar


              • #8
                Original geschrieben von asp2php
                ich verstehe dein Problem nicht.
                ich habe so verstanden:
                - du hast eine Artikeltabelle und 4 Artikelvarianten
                - du möchtest 4 checkboxen mit den 4 Varianten für eine Artikel haben
                stimmt ?

                (sorry, bin heut' etwas begriffstutzig )
                nö anders (so wärs ja extrem einfach),

                In der tab Artikel können pro Artikel bis zu vier Auswahllisten (optionen) bestimmt werden (farbe, größe, etc).

                In der Tab varianten sind dann farbe, größe, etc. definiert.

                Farbe = gelb, rot, blau etc.
                mfg
                marc75

                <Platz für anderes>

                Kommentar

                Lädt...
                X