Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Komentarze z odpowiedziami
conmar
post 19.04.2010, 15:58:51
Post #1





Grupa: Zarejestrowani
Postów: 26
Pomógł: 2
Dołączył: 29.12.2008

Ostrzeżenie: (0%)
-----


Witam,

Potrzebuje zrobić system komentarzy do bloga. Tabele wyglądają mniej więcej tak:
1.blog_posts
id|user_id|title|content|created
2.blog_post_comments
id|blog_post_id|user_id|content|created

Problem polega na tym, że musi być możliwość odpowiadania na komentarze (wystarczy, że będzie do jednego poziomu w głąb czyli komentarz i odpowiedzi).
Pierwsze co mi przyszło do głowy to dołożyć pole parent_id do tabeli blog_post_comments i ustawiania go na 0 dla komentarzy ktore nie maja podkomentarzy ale przy takim rozwiazaniu nie mogę tak skonstruować zapytania aby wyciągnąć te komentarze w odpowiedniej kolejności.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
quality
post 30.04.2010, 10:06:01
Post #2





Grupa: Zarejestrowani
Postów: 172
Pomógł: 9
Dołączył: 13.02.2006
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Najlepiej zrob dwa zapytania do pobierania komentarzy.

Najpierw pobierasz wszystkie glowne, pozniej zbierasz ich id w ciag liczb i robisz drugie pobierajace odpowiedzi " select ... where id_parent IN (1,2,3 ... )".
Pozniej zostaje ci tylko wyswietlenie ich w widoku.
Wtedy mozesz sobie pod kazdym glownym komentarze wyswietlic odpowiedzi, a i glowne i odpowiedzi bedziesz mogl sortowac po dacie w dwoch zapytaniach smile.gif

Adrian

Ten post edytował quality 30.04.2010, 10:07:56


--------------------
Go to the top of the page
+Quote Post
erix
post 30.04.2010, 18:29:08
Post #3





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Najgorsze możliwe wyjście, bo generuje tyle zapytań, ile jest odpowiedzi.

Ja bym zrobił w ten sposób - do tabeli z komentarzami dodać kolumnę w stylu ORDER będąca wyznacznikiem kolejności w komentarzach i pole opisujące stopień zagłębienia.

Temat bardzo podobny do drzewek, właściwie to identyczny, tylko są dodatkowe pola na zawartość komentarzy. winksmiley.jpg


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
quality
post 6.05.2010, 09:06:11
Post #4





Grupa: Zarejestrowani
Postów: 172
Pomógł: 9
Dołączył: 13.02.2006
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Hmmm ja widze tutaj tylko dwa zapytania smile.gif

Czytaj ze zrozumieniem. Pierwsze pobiera glowne komentarze. Drugie zapytanie pobiera wszystkie podrzedne za pomoca IN (..). Proste i optymalne.

Order jest wlasnie nie optymalne, bo przy dodawaniu komentarza bedzie potrzeba przebudowania calego drzewa. Nie optymalne i problematyczne ( trzeba by bylo stosowac transakcje aby zapobiec przypadkowej utracie danych )

Ten post edytował quality 6.05.2010, 09:08:56


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 07:30