Chef: Forum mit mehrere Seiten

Hi,

Arbeite zur Zeit an einem Forum und möchte jetzt gerne, dass man bestimmte "Antworten" von einem Thema öffnen kann (Scrollt dann auch auto. runter). Problem dabei ist das ich z.B. Ein Thema so verlinkt habe:

index.php?tab=forum&id=ForumID&thread=ThreadID (Zum Scrollen: #postID)

Wenn jetzt mehrere Seiten vorhanden sind passt das ganze ja nicht mehr. Nun dachte ich mir, dass ich vor dem Speichern einer Antwort die Seite berechne:

(Count / 10+1) (Maximal 10 Antworten pro Seite).

Funktioniert soweit auch super :). Nur wenn man jetzt eine Antwort löscht verschieben sich ja die Einträge. Alle neu anzupassen wäre glaube nicht so gut...

Wie macht man sowas am besten? Mir fällt einfach keine Lösung ein.

MfG
Sven

  1. Nur wenn man jetzt eine Antwort löscht verschieben sich ja die Einträge. Alle neu anzupassen wäre glaube nicht so gut...

    Eventuell will man Nutzern auch die Möglichkeit einräumen sich eine andere Anzahl Beiträge pro Seite anzeigen zu lassen. Dann geht das auch schief. Wenn es sowas wie die Nested-Ansicht hier gibt, können auch später Beiträge dazwischengeschoben werden, selbes Problem. Speichern erscheint nicht sinnvoll.

    Wie macht man sowas am besten? Mir fällt einfach keine Lösung ein.

    Das hängt davon ab, wie deine Beiträge und Threads einander zugeordnet sind. Was aber immer gehen sollte, vielleicht nur nicht elegant und schnell ist, wäre bei jedem Aufruf alle Beiträge so auszulesen, als ob alle auf einer Seite dargestellt werden sollten und dann die Position des Beitrags zu ermitteln.

    1. Nur wenn man jetzt eine Antwort löscht verschieben sich ja die Einträge. Alle neu anzupassen wäre glaube nicht so gut...

      Eventuell will man Nutzern auch die Möglichkeit einräumen sich eine andere Anzahl Beiträge pro Seite anzeigen zu lassen. Dann geht das auch schief. Wenn es sowas wie die Nested-Ansicht hier gibt, können auch später Beiträge dazwischengeschoben werden, selbes Problem. Speichern erscheint nicht sinnvoll.

      Wie macht man sowas am besten? Mir fällt einfach keine Lösung ein.

      Das hängt davon ab, wie deine Beiträge und Threads einander zugeordnet sind. Was aber immer gehen sollte, vielleicht nur nicht elegant und schnell ist, wäre bei jedem Aufruf alle Beiträge so auszulesen, als ob alle auf einer Seite dargestellt werden sollten und dann die Position des Beitrags zu ermitteln.

      Im moment benutze ich nur eine Tabelle "threads" - Beiträge und Threads unterscheide ich mit "threadid". -1 = Neues Thema. Habe mich für eine Tabelle entschieden, weil man dann leichter Threads verschieben kann einfach die forumid ändern. Vorher hatte ich für jedes Forum eine eigene Thread Tabelle - threads_forumid.

      Das wäre eine möglichkeit, aber bin mir nicht sicher, ob ich das so umsetzen soll. Eigentlich ist ja eine MySQL Datenbank verdammt schnell. Auch wenn 10000 Einträge vorhanden sind, oder?

      MfG
      Sven

      1. Im moment benutze ich nur eine Tabelle "threads" - Beiträge und Threads unterscheide ich mit "threadid". -1 = Neues Thema. Habe mich für eine Tabelle entschieden, weil man dann leichter Threads verschieben kann einfach die forumid ändern. Vorher hatte ich für jedes Forum eine eigene Thread Tabelle - threads_forumid.

        Das beantwortet nicht, wie die Beiträge mit dem Thread verknüpft sind.

        Aber die Beiträge müssen ja alle eine eigene ID haben. Wenn Du IDs von gelöschten Beiträgen nicht neu vergibst, dann sollten die IDs auch aufsteigend sein. Also sinngemäß suchst Du nach allen nach ID sortierten Beiträgen die zum Thread gehören und die eine ID größergleich dem Startbeitrag haben aber nicht mehr als x Stück.