On Thursday 29 June 2006 09:11, Ben Liu wrote:

> relevant data structure loosely:
>
> post_id (unique, autoincrement, primary index)
> parent_id (if the post is a child, this field contains the post_id of
> its parent)
> ...
> 1) Query the database for all messages under a certain topic, sort by
> parent_id then post_id
>
> 2) Somehow resort the data so that each group of children is directly
> after their parent. Do this in order of ascending parent_id.
>
> Can this be done with usort() and some programatic logic/algorithm?
> How do you sort groups of items together rather than comparing each
> array element to the next array element (ie: sorting one item at a
> time)? Should this be done with a recursive algorithm?
>
> Anyone with experience writing code for this type of message board, or
> implementing existing code? Thanks for any help in advance.
>
> - Ben

I've written such a system before more than once.  You do the sorting in SQL, 
and then traverse the data recursively in PHP to build the tree.  It's a 
single SQL query.  Check the archives for this list for about 3-4 weeks ago, 
I think.  We were just discussing it, and I showed some basic code 
examples. :-)

-- 
Larry Garfield                  AIM: LOLG42
[EMAIL PROTECTED]               ICQ: 6817012

"If nature has made any one thing less susceptible than all others of 
exclusive property, it is the action of the thinking power called an idea, 
which an individual may exclusively possess as long as he keeps it to 
himself; but the moment it is divulged, it forces itself into the possession 
of every one, and the receiver cannot dispossess himself of it."  -- Thomas 
Jefferson

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to