Re: Comment Threading
| From: | Philip Hallstrom | Date: | Tue, 03 Dec 2002 06:15:42 +0000 |
| Subject: | Re: Comment Threading | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-126818@lists.php.net to get a copy of this message | ||
Your best bet would be to look at how some of the other apps do it :)
(taking licensing issues into account that is :)
This might help as well.. not sure how efficient it is on a really long
list, but it works for my little stuff...
http://stuff.adhesivemedia.com/php/heirarchial-sorting.php
On Tue, 3 Dec 2002, Beth Gore wrote:
> Hello,
>
> I'm trying to work out how to do some simple comment threading using
> PHP. I've overridden the blockquote tag in CSS so that it only indents
> from the left.
>
> At the moment comments are simply displayed in reverse chronological
> order as all the replies to a particular post.
>
> I just can't get my head around how to do the threading.
>
> I could add an extra column in the comments table, i.e, "repliedto"
> which would contain the comment ID of the comment the user replied to,
> but that would seem to require some sort of recursion to check whether
> or not a comment has a reply, which I'd rather avoid if I can (mainly
> because I don't think I'm good enough to pull it off)
>
> The other idea would be to have a threadID.. hmm...
>
> table thread: threadID, rootCommmentID, replyCommentID
>
> Then perhaps every time a user replies to a comment, it adds a row to
> the database?
>
> How can I somehow take the data in the comments and/or thread table and
> sort an array of comment data which I can then use to layout the page,
> i.e, adding a different level of indent for each "thread"?
>
> ie:
>
> originalpost
> -comment1/thread1(reply to post)
>
> --comment2/thread2(reply to comment1)
>
> ---comment3/thread3(reply to comment 2)
>
> ----comment3/thread4(reply to comment 3)
>
> --comment5/thread1(reply to comment1)
>
> ---comment3/thread5(reply to comment 2)
>
> --comment6/thread2(reply to comment1)
>
> -coment7/thread1(reply to post)
>
> Thanks for any help/examples. I really just can't get my head around it.
>
> Beth Gore
> --
> http://bethanoia.dyndns.org
>
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>