Christian Seiler: Konzept richtig?

Beitrag lesen

Hallo Dave,

ich verstehe jetzt nicht ganz, worauf Du genau hinauswillst... http://aktuell.de.selfhtml.org/artikel/phpasp/php-forum/ dürfte Dir an sich weiterhelfen. Der Programmablauf selbst ist das geringste Problem bei den meisten Datenbankanwendungen. Das Hauptproblem ist die Modellierung der Datenbank.

(wie ich das hinkriege, muss ich mir noch ueberlegen - das mit der bestimmten Anzahl meine ich).

Wenn Du ein Board und kein Forum programmierst, dann kannst Du per Aggregatfunktionen das abfragen. Aber auch wenn Du ein Forum mit einem geschickten DB-Modell schreibst, dann kannst Du das ähnlich lösen.

Ich glaube, ich gehe jetzt an der Frage vorbei, aber vielleicht hilft Dir das trotzdem:

Datenmodell für ein Forum:

CREATE TALBE threads (
   tid   INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
   [irgendwelche Daten zum Thread selbst]
   primary_pid INT NOT NULL
);

CREATE TABLE postings (
  pid   INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
  tid   INT NOT NULL,
  parent_pid  INT NOT NULL,
  [irgendwelche Daten zur Nachrichte selbst, z.B. Autor & co]
  message_content TEXT
);

Dabei ist tid die Thread-ID und PID die Posting-ID. Bei jedem Thread gibt es eine "Primary Posting ID", die auf das Ausgangsposting zeigt. Bei jedem Posting gibt es noch eine tid, die wieder auf den ursprünglichen Thread zeigt und eine parent_pid, die auf das Posting zeigt, worauf dieses eine Antwort ist. Bei dem Ausgangsposting sollte diese -1 sein.

Du kannst dann die Anzahl der Antworten eines Threads per

SELECT COUNT(pid) as num_answeres FROM postings WHERE tid = <id des threads>;

abfragen.

Grüße,

Christian

--
Sollen sich alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen und nicht mehr davon erfasst haben als eine Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst.
                      -- Albert Einstein