Ordnerstruktur

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

  • Ordnerstruktur

    Hallo Leute,

    Ich entwickle gerade einen virtuellen Dateispeicher, den ich nun gerne um Ordner erweitern möchte.

    Nun komme ich allerdings zum Problem, dass zum Beispiel folgede Ordnerstruktur möglich sein sollte:
    Code:
    root
     - folder1
     - -> folder1.1
     - - -> folder1.1.1
     -  -> folder1.2
     - folder2
     - fodler3
     - ...
    Eine Möglichkeit, die ich mir ausgedacht habe, ist dass ich die Ordner jeweils in einem MySQL- Datenbank speichere. Dazu habe ich folgende Tabelle erstellt:

    Code:
     - folderid (INT, AUTO_INCREMENT)
     - foldername (VARCHAR)
     - subfolderof (INT)
    In das Feld folderid schreibe ich eine Ordnerid, anschliessend kommt der Name des Ordners und in das dritte Feld schreibe ich die ID des übergeordneten Feldes, so denn ein übergeordneter Ordner exisitert.

    Das sieht dann so aus:
    Code:
     - 1 folder1 0
     - 2 folder2 0
     - 3 folder1.1 1
     - ...
    Nun will ich die ganze Baumstruktur der vorhandenen Ordner wie im ersten Code angezeigt ausgeben.

    Aber: wie mache ich das am einfachsten? (MySQL- oder PHP)


    Danke für die Hilfe
    andreas

  • #2
    Sowas wurde schonmal diskutiert, siehe Link

    Kommentar


    • #3
      Wenn die Struktur unendlich erweiterbar sein soll (wie in einem richtigen Dateisystem), dann bleiben dir nur Netsted Sets.

      Kommentar


      • #4
        dann bleiben dir nur Netsted Sets.
        Das ist eine Lüge! menu_menu ermöglicht das genauso. Und ein einfaches Parent-Child auch.

        Kommentar


        • #5
          Ich hab das ganze nun mit Netsted Sets realisiert. Irgendwie erschien mir das am einfachsten, auch wenn ich das anfangs überhaupt nicht verstanden habe.

          Allerdings hab ich noch eine Nomalie eingebaut. Ich denke mal, das darf man, wenn pro Abfrage (bei 8 Testordnern) mehr als 30ms gespart werden...

          Danke für die Hilfe
          andreas

          Kommentar

          Lädt...
          X