Jump to content


This topic is now archived and is closed to further replies.


Help Please!

Recommended Posts

I am trying to create my own forum system and am trying to replicate the way phpBB sorts posts with recent replies to the top of the list. I have all posts and replies in one table and am trying not to add a last_reply field to the table.


here goes,


I have one table lets call it T1


for this purpose we can say T1 has 3 fields:


message_ID - Auto_Incremented Primary Key (each one is unique)


parent_ID - INT (where parent_ID = 0 if not a reply and parent_id=message_id of post relpied to)


lastdate - TIMESTAMP (date posted)


Here is what I want to do with this:

First I want to select all messages with such that parent_id=0

then I want this sorted in the order of which has the most recent reply so it would have to sort through the replies of each and pick out the most recent date and sort the list of parent_id=0.


this just has my head spinning


I am using mysql 3.22

Is there a way for me to do this in just sql? if not php? am I just going to have to do something different?


I would be soooo grateful for any help!

Share this post

Link to post
Share on other sites

maybe I made it confusing.


lastdate is supposed to called postdate actually. There is no lastdate column.


each row contains a message_id a parent_id and postdate


first I want to select all with parent_id = 0 that is no problem


to get each message which is not a reply i do this


SELECT* FROM T1 WHERE parent_id=0 ORDER BY postdate)


to get the replies for that message I do this

SELECT * FROM T1 WHERE parent_id=\'id of message getting replies of\' ORDER BY postdate


Now when I display the messages with that first query I want those results to be sorted by the dates of each in the second query


get it?[/code]

Share this post

Link to post
Share on other sites

if i understand this right...


I think you should update the \'postdate\' field everytime a person posts a reply. When u change the parent_id also update the \'postdate\'. Then you can sort the data with the replied ones at the top.



--hope this makes sense :)

Share this post

Link to post
Share on other sites

I know that I could do that but I was hoping for another way so I wouldn\'t need to modify anything but the sql query. Oh well, I guess I am just going to have to change a few things around.


thanks anyway though :)

Share this post

Link to post
Share on other sites


Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.