PHP 处理 MySQL DATETIME

标签 php mysql datetime date

我有一个表格,其中显示最新的管理员注释。我只显示最后 3 个音符。我将 DATETIME 存储在数据库中。我想做的是能够说,如果此日期时间小于 3 天,则显示此新文本

现在,如果所有 3 个注释都在同一天,我只希望最新的注释显示新文本,而不是所有 3 个注释。

这是我的 PHP:

<?php
    if ($stmt = $mysqli->prepare("SELECT note, date_posted, admins.first_name, admins.last_name FROM admin_notes INNER JOIN admins ON admin_notes.admin_id = admins.admin_id ORDER BY date_posted DESC LIMIT 3")) {

        $stmt->execute();
        $stmt->bind_result($note_text, $note_date, $note_fname, $note_lname);
        $stmt->store_result();

        while ($stmt->fetch()) {
            echo "<tr><td class=\"full\">$note_text<br /><span class=\"from\">".timesince($note_date)." by <strong>$note_fname $note_lname</strong></span></td></tr>";
        }
    }
?>

谁能帮我实现这个目标?

最佳答案

$past = new DateTime('-3 days');

// later
$note_datetime = new DateTime($note_date);

if ($note_datetime >= $past) echo 'new';

受到rkosegi(同时删除)答案的启发:您可以将查询更改为

SELECT note, date_posted, admins.first_name, admins.last_name, (DATEDIFF(NOW(),`date_posted`) < 3) AS isNew FROM [..]

现在你得到一个新的“行”isNew,它要么是 1,要么是 0。

关于PHP 处理 MySQL DATETIME,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8734275/

相关文章:

mysql - 多组Mysql

mysql - 得到已售出的热门产品吗?

c# - 查找特定时间范围内的时间发生和持续时间

python - python中日期时间索引的长度

php - 路由顺序 symfony 4

php - 如何在表格标题中添加图像?

mysql - 使用 MySQL 在最近的文章中随机选择 'featured' 篇文章,如果不存在则回退

C#如何将不规则的日期时间String转换成DateTime?

php - 将 JSON 数组转换为 php 中的插入查询字符串

php - str_replace 用于短代码目的