论坛结构获得最后发表

时间:2009-02-25 22:32:09

标签: php sql

我的英语不太好。我基本上想要显示最后一篇文章在论坛中发布的日期。这是我的论坛谢谢:

  `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 } ?>

如何获取所有论坛的最后评论日期? 也许在线程表中添加一个字段,我存储最后一个评论日期? 也许更好的方式? 不知道如何更好地解决这个问题。

由于

2 个答案:

答案 0 :(得分:0)

您必须查询您的数据库。 (您必须查看代码是如何制作的。)

SELECT comment_date FROM dates ORDER BY comment_date DESC LIMIT 1;

LIMIT 1告诉数据库只返回一个条目。)

然后打印该条目。 (同样,你必须查看你的代码。)

答案 1 :(得分:0)

类似的东西:

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