php - 需要有关 mysql/php 输出数据的帮助

标签 php mysql

好的,我有一个包含 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/

相关文章:

php - 增加wordpress中的最大上传限制

php - Facebook 炸毁了我的网页

php - SQL 查询 - 如果不匹配则限制结果

PHP 数据网格 MYSQL

PHP 无法从 mysqli 语句读取第二个结果集

java - 将Java连接到MySQL数据库

php - MySQL 查询问题 - 连接和分组

php - 在 PHP 中有条件地使用特征

php - php 中的 isset() 不起作用

php - 无法访问我服务器上的数据库