Ankündigung

Einklappen
Keine Ankündigung bisher.

Variables Menü

Einklappen

Neue Werbung 2019

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

  • Variables Menü

    Hey würde gern ne Art Produktübersicht machen.
    Es wird alles mit der DB erzeugt also menü usw.

    Beispiel:

    Menüpunkt 1 -> Kategorie -> Unterkategorie 1 -> Unterkategorie 2 -> Artikel

    Menüpunkt 2 -> Kategorie -> Unterkategorie 1 -> Unterkategorie 2 -> Unterkategorie 3 Artikel

    Menüpunkt 3 -> Artikel


    So meine datenbank sieht zur zeit wie folgt aus

    T1 entharl: (dazu da um festzulegen ob eine kategorie artikel oder untergruppen enthält)
    T2: menue (enthält die menüpunkt, und T1ID)
    T3: kategorie (enthält kategorienamen und menüID und T1ID)
    T4: unterkategorie (enthält die unterkategorien und T3ID und T1ID


    So also ich mag es so haben das man eigentlich jeden kategorie oder unterkategorie in beliebig viele weitere kategorien eingliedern kann.

    Aber normalerweise liegt es doch an der datenbankstruktur…ich meine das man vorne weg genau weiß wie viele kategorien/unterkategorien man braucht und sich dananhc die datenbank aufbaut, oder liege ich da falsch?

  • #2
    -> Parent-ID-Prinzip oder Nested Sets einsetzen und eine entsprechende Tabelle, die einzelne Knoten des Baumes mit Artikeln und/oder Produkten verknüft.

    Kommentar


    • #3
      benutz doch folgende datenbankstruktur:

      menue_id | parent_id | sonstige_beschreibungen

      Kommentar


      • #4
        Wat sach ich...

        Kommentar


        • #5
          wie ist das mit dem parement id gemeint?
          bzw könnt ihr mir das noch ein wenig genauer erklären?

          Kommentar


          • #6
            :: handcode :: Selbstreferenzierende Bäume - klein - einfach - schnell

            Kommentar


            • #7
              hey..hab es jetzt mal versucht..

              in der db steht

              id | pid | name

              1 | 0 | punkt 1
              2 | 0 | punkt 2
              3 | 0 | punkt 3
              4 | 1 | punkt 1.1
              5 | 1 | punkt 1.2
              6 | 2 | punkt 2.1
              7 | 2 | punkt 2.3
              8 | 2 | punkt 2.4
              9 | 6 | punkt 2.1.1

              alle kategorien aufrufen klappt wunderbar...
              nur irgendwie klappt es nicht das ich sagen kann..wenn ein letzter punkt erreicht ist das statt dem link zu einer weiteren unterkategorie kein link kommt..

              PHP-Code:
              $id = (int)$_GET['kat'];
              $kate "SELECT ID,Name,pID FROM kategorien WHERE pID = ".$id;
              $kerg mysql_query($kate);
              while(
              $kategorie mysql_fetch_object($kerg))
              {
              if(...
              hier müsste ja da irgendwie was hin...da komm ich grad net weiter)
              {
              echo 
              "<li>$kategorie->Name</li>\n";
              }
              else
              {
              echo 
              "<li><a href="link">$kategorie->Name</a></li>\n";
              }

              vielleicht könnt ihr nen denk anstoß geben

              Kommentar


              • #8
                vielleicht könnt ihr nen denk anstoß geben
                Du musst entweder die Knoten des Baumes typisieren oder abfragen, ob ein Knoten Kinder hat.

                Kommentar


                • #9
                  Wozu? Irgendwo wirds ja sowieso eine Zuordnung Link-Inhalt für die Blätter geben, oder? Ansonsten ja auch egal, dann wird halt alles zu nem Link und der Controller muß dann ermitteln, ob er jetzt einen Zweig aufklappt oder ein Dokument holt.

                  Oder Du baust den Baum rückwärts auf.

                  Kommentar


                  • #10
                    Irgendwo wirds ja sowieso eine Zuordnung Link-Inhalt für die Blätter geben, oder?
                    Genau das, fürchte ich, gibt es nicht, sonst wäre diese Lösung ja naheliegend gewesen.

                    Kommentar


                    • #11
                      ich habe noch eine spalte "enthält" wo 1 oder 0 drin steht.
                      bei 1 gibt es eine untergruppe und bei 0 kommt man zu artikeln.

                      Kommentar


                      • #12
                        Naja, da hast Du doch die Antwort.

                        Kommentar

                        Lädt...
                        X