Henryk Plötz: Heise installiert Forum auf MySQl-Basis

Beitrag lesen

Moin

Wonach sortierst du genau? Zuerst nach Thread, und dann?
Ich fände es schön wenn du eine Lösung findest das zu sortieren ohne
dass ein nachträglicher Sort nötig ist, aber ich weis keine Möglichkeit.

Ich weiss nicht ob du meinen Feature Artikel zu dem Thema schon kennst, aber ich verwende auch eine ähnliche Art um die Daten flach in einer MySQL-Datenbank abzulegen und das zeichnen dann von einer rekursiven Funktion erledigen zu lassen, ohne dass zu jedem Posting alle Kindpostings im entsprechenden Eintrag der Datenbank stehen müssen.

Ich speichere die Nummer des Vaterpostings bei jedem Eintrag in der Datenbank, sowie das Datum (wenn du dir nicht sicher bist, das das Datum bei deinem System immer gradeaus geht, musst du dir halt irgendwas anderes suchen, was garantiert in eine Richtung wächst) des Eintragens. Bei der Ausgabe der Hauptdatei (für einen Thread geht das analog) lese ich alle Betreffzeilen aus und lasse sie von der Datenbank nach Datum sortieren. Damit sind sie im Prinzip schon in der richtigen Reihenfolge bloß die Verschachtelung ist noch nicht klar.
Beim Auslesen in ein Array brauche ich ohnehin eine Schleife und in dieser Schleife konstruiere ich auch noch die Vorwärtsverknüpfungen indem ich in einem Array an der Position die der Nummer des Vaterpostings des aktuellen Postings entspricht (kriege ich ja aus der Datenbank) an ein weiteres Array die Nummer des aktuellen Postings anhänge. Die Kindpostings eines Vaterpostings sind jetzt ja automatisch in der richtigen Reihenfolge, weil sie so aus der Datenbank kamen und die Threadstruktur ist durch die Vorwärtsverknüpfungen wiedergegeben. Der Overhead für diesen Schritt ist minimal (zwei bis dreimal aus dem Hauptspeicher lesen und einmal reinschreiben).
Jetzt kann eine rekursive Funktion (oder meinetwegen auch eine iterative Funktion mit Kellerspeicher) den Baum ganz einfach zeichnen.

--
Henryk Plötz
Grüße aus Berlin

0 80

Heise installiert Forum auf MySQl-Basis

andreas
  • zur info
  1. 0
    Achim Schrepfer
    1. 0
      andreas
      1. 0
        Achim Schrepfer
        1. 0
          andreas
          1. 0
            Stefan Muenz
            1. 0
              Christian Kruse
  2. 0
    Schuer
    1. 0
      andreas
  3. 0
    Thomas Meinike
    1. 0
      Achim Schrepfer
  4. 0
    Wilhelm
  5. 0

    Heise auf dem Weg zur Computer-Bild...

    Bio
    1. 0
      Thomas Meinike
  6. 0
    Christian Kruse
    1. 0
      kerki
  7. 0
    kerki
    1. 0
      Daniela Koller
      1. 0
        Stefan Muenz
        1. 0
          Bio
          1. 0
            Martin Jung
            1. 0
              Bio
        2. 0
          Daniela Koller
          1. 0
            Martin Jung
            1. 0
              Daniela Koller
              1. 0
                Martin Jung
                1. 0
                  Daniela Koller
                  1. 0
                    Martin Jung
                    1. 0
                      Daniela Koller
                      1. 0
                        Christian Kruse
                    2. 0
                      Stefan Muenz
                      1. 0
                        Christian Kruse
              2. 0
                Ed X
                1. 0
                  Daniela Koller
                  1. 0
                    Ed X
                    1. 0
                      Daniela Koller
                      1. 0
                        Ed X
                    2. 0
                      Christian Kruse
                      1. 0
                        Ed X
                        1. 0
                          Frank Schönmann
                        2. 0
                          Martin Jung
                          1. 0
                            Frank Schönmann
                          2. 0
                            Ed X
                  2. 0
                    Henryk Plötz
                  3. 0
                    Michael Schröpl
                    1. 0
                      Daniela Koller
                      1. 0
                        Michael Schröpl
          2. 0
            Stefan Muenz
            1. 0
              Daniela Koller
              1. 0
                kerki
                1. 0
                  Martin Jung
                  1. 0
                    kerki
                2. 0
                  code2i
                  1. 0
                    Michael Schröpl
                3. 0
                  Christian Kruse
                  1. 0
                    kerki
                    1. 0
                      Martin Jung
                      1. 0
                        Christian Kruse
                        1. 0
                          Martin Jung
            2. 0
              Michael Schröpl
        3. 0
          kerki
      2. 0
        kerki
        1. 0
          Daniela Koller
          1. 0
            kerki
            1. 0
              Christian Kruse
      3. 0
        Michael Schröpl
        1. 0
          Martin Jung
          1. 0
            Michael Schröpl
    2. 0
      Martin Jung
    3. 0
      Thomas J.S.
      1. 0
        kerki
        1. 0
          Michael Schröpl
        2. 0
          Thomas J.S.
          1. 0

            Das unbekannte Wesen

            kerki
            • xml
            1. 0
              Thomas J.S.
              1. 0
                kerki
                1. 0
                  Thomas J.S.
                  1. 0
                    Thomas J.S.
                    1. 0
                      Michael Schröpl
                  2. 0
                    Michael Schröpl