好的,我有一个包含 2 列的简单表:代码和日期。
我想显示最新的 25 条并告诉用户它们是在多长时间前提交的。
所以,例如:
ABCDEF (1 Second Ago)
CCDEE (12 Seconds Ago)
329492 (45 Minutes Ago)
我已经走到这一步了:
$result = mysql_query("SELECT `code` FROM `fc` ORDER by datetime LIMIT 25") or die(mysql_error());
但是,它并没有按照我的意愿行事。它恰恰相反。它显示首先输入的内容,而不是最后输入的内容。
我的输出看起来像这样:
$output .= "<li><a href=\"http://www.***=" . htmlspecialchars(urlencode($fetch_array["code"])) . "\" target=\"_blank\">" . htmlspecialchars($fetch_array["code"]) . "</a></li>";
我不知道如何添加(时间)部分。
帮忙吗?
谢谢:)
最佳答案
考虑 ORDER BY datetime DESC
以另一个方向排序。
考虑将 datetime
添加到 SELECT 列表中,这样您就可以在 PHP 中访问发布日期。然后,您可以使用 PHP 日期/时间函数来计算当前日期与发布日期之间的差异,从而计算出该帖子是在多长时间前发布的。
添加:一些代码以友好的格式计算自发布以来的时间。
$seconds = time() - strtotime($fetch_array["datetime"]);
if($seconds < 60)
$interval = "$seconds seconds";
else
if($seconds < 3600)
$interval = floor($seconds / 60) . " minutes";
else
if($seconds < 86400)
$interval = floor($seconds / 3600) . " hours";
else
$interval = floor($seconds / 86400) . " days";
// You can keep on going
最后 $interval
包含间隔的文本表示
关于php - 需要有关 mysql/php 输出数据的帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1235681/