[php][mysql] forum wielopoziomowe

0

Witam

Mam taki problem, jak ułozyć tabele że by utworzyć forum wielopoziomowe?
Chodzi o zagłebienia, tak jak dzrewo katalogów. i nie mam pojęcia jak to zrobic przy tym zeby było łatwo odczytywać ścieżke. np. głowna -> cos tam -> icos -> zrodło.

0

Tabela działów:

ID_DZIAŁU
NAZWA
...
ID_DZIAŁU_NADRZĘDZNEGO // NULL jeśli ten jest całkowicie nadrzędny

Tabela postów:

ID_POSTU
AUTOR
TEKST
...
ID_DZIAŁU_ZAWIERAJĄCEGO
0

hmm, chyba nie o to mi chodziło, chodzi o to żeby zagłębienia były nieograniczone, tz. tak jak drzewo katalogów.

Ale wpadłem na taki oto pomysł:

Mam kategorie wszytkich galezi tego virtualnego dzrewa w jednej tabeli.

| id | id_poprzedniej | id_nastepnej | nazwa |

I w polu id_poprzedniej jest id kategori w której jest zawarta pobrana kategoria ta kategoria, gdy = 0, w tedy jest to początek dzrzewa. Pole id_nastepnej to pole id jakie zawiera nastepne kategorie, jeżeli w tabeli znajdzie rekordy id_poprzedniej=id_nastepnej to te rekordy nalezą do tej katerorii. a jeżeli id_nastepnej = 0 to znaczy ze jest "plikiem" (koncem drzewa).

Ale teraz jest problem, jak odczytać ścieżkę w której aktualnie jestesmy?, bo mam pomysł ale jeżeli jesteśmy w dzrzewie zagłebieni np. 10 poziomow, musiał bym wykonac 10 zapytan do bazy, a co wpłynie na wydajnosc :/

0

gdy użytkownik rozwinie wybrany wątek (o pewnym ID) pobierasz z bazy wszystkie posty o tym głównym ID do tablicy, i potem na niej operować

0

Poszperaj tutaj: http://cvs.4programmers.net/cgi-bin/cvsweb/roadrunner/include/ konkretnie modul functions_forum.php.

Znajdz tez strukture klasy: http://cvs.4programmers.net/cgi-bin/cvsweb/roadrunner/install/schema/mysql.sql

Ten algorytm wykorzystuje obecnie serwis 4programmers.net, zarowno do generowania poddzialow na forum oraz drzewa kategorii: http://4programmers.net/text.php

1 użytkowników online, w tym zalogowanych: 0, gości: 1