【问题标题】:Forum Structure Get Last Post论坛结构 获取最后一个帖子
【发布时间】:2010-10-09 22:45:35
【问题描述】:

我的英语不太好。我基本上想显示最后一篇帖子在论坛上发布的日期。这是我的论坛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

论坛.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 } ?>

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

谢谢

【问题讨论】:

    标签: php sql


    【解决方案1】:

    类似:

    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
    

    【讨论】:

      【解决方案2】:

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

      SELECT comment_date FROM dates ORDER BY comment_date DESC LIMIT 1;
      

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

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

      【讨论】:

        猜你喜欢
        • 2014-08-14
        • 1970-01-01
        • 1970-01-01
        • 2016-01-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多