tags:

views:

52

answers:

2

My english is not so good. I basicaly want to show the date when that last post was posted in a forum. This is my forum shema:

  `forum_id` int(11) NOT NULL auto_increment
  `forum_name` varchar(255) NOT NULL
  `forum_description` text NOT NULL
  `forum_order` int(11) NOT NULL

  `thread_id` int(11) NOT NULL auto_increment
  `thread_title` varchar(255) NOT NULL
  `thread_text` text NOT NULL
  `thread_date` datetime NOT NULL
  `forum_id` int(11) NOT NULL default '0'
  `thread_author` int(11) NOT NULL


  `comment_id` int(11) NOT NULL auto_increment
  `comment_text` text NOT NULL
  `comment_thread_id` int(11) NOT NULL default '0'
  `comment_poster` int(11) NOT NULL default '0'
  `comment_date` datetime NOT NULL

Forums.php

   $query = mysql_query("SELECT * FROM forums ORDER BY forum_order ASC");
   while ($row = mysql_fetch_assoc($query)) {


  <h3>Forum: <?php echo $row['forum_name'] ?><h3>
  <div>Desc: <?php echo $row['forum_description'] ?></div>
  <div>Last post: <?php echo $??['comment_date'] ?></div>
  <?php } ?>

How would I do to get the last comment date for all forum? Maybe add a field in threads table where i store the last comment date? Maybe better way? Don't know how to explein this any better.

Thanks

A: 

You'd have to query your database. (You have to look in your code how this is made.)

SELECT comment_date FROM dates ORDER BY comment_date DESC LIMIT 1;

(LIMIT 1 tells the database to only return one entry.)

And then print that entry. (Again, you have to look in your code.)

Georg
A: 

Something like:

SELECT forums.*, max(comments.date) as last_comment
FROM forums 
LEFT OUTER JOIN threads ON forums.forum_id = threads.forum_id
LEFT OUTER JOIN comments ON threads.thread_id = comments.comment_thread_id
GROUP BY forums.forum_id
ORDER BY forum_order ASC
Tom Haigh
Thanks man that work good