从SQL数据库获取最后一篇文章

时间:2014-01-28 13:58:25

标签: php mysql

我在 chat.stackoverflow.com 中发现了一个有趣的功能,可让用户查看上次发布的最后一次。  这就像“最后一条消息是在9小时前发布的。” 试过这样的格式:

id | post | time

The last message was posted +time+ ago

我想问一下,我怎么能用php来获取和显示上一篇文章的时间。谢谢!

2 个答案:

答案 0 :(得分:1)

查询看起来像这样:

SELECT
  `date`
FROM `posts`
WHERE `date` = MAX(`date`);

然后你可以使用PHP来获取时间:

$elapsed = new DateTime($date_from_mysql)->diff(new DateTime(/* now */));

您的作业:无论是否有几分钟甚至几年,都要正确输出经过的时间。

答案 1 :(得分:1)

将时间戳或日期时间列添加到数据库表中,并使用正确的时间填充它。然后可以在适当的时间(例如小时)

表示当前时间和存储时间之间的差异

然后,您可以使用mysql或PHP日期函数来获取正确的格式。 在Mysql中它是这样的:

SELECT DATE_FORMAT(NOW()-postdate,"%h hours ago") FROM myTable WHERE postdate = MAX(postdate)

或在PHP中(假设unix时间戳和已完成的最后一个帖子的选择):

$hoursago = date("h", time()-$myTimeStamp) . " hours ago";