如何在SQL中输出下一个日期?

问题描述 投票:0回答:2

我有一个表格,其中一列包含日期。如何输出未来下一个日期的记录?

我的桌子:

新闻_标题 新闻_日期 新闻时间 新闻位置 新闻_笔记
活动1 2020-12-15 10-00 那里 -
活动2 2020-12-20 10-00 那里 -
活动3 2020-12-25 10-00 那里 -

假设今天是2020年12月18日,那么我想要显示日期为2020年12月20日的记录。

我之前的代码:

$sql = "SELECT news_titel, news_date, news_time, news_location, news_notes FROM 
$table WHERE news_date >= NOW() ORDER BY news_date LIMIT 1";

(注意,我当时并没有把日期处理做得很好。如果时间和日期结合起来会更好。)

php mysql database
2个回答
1
投票

如果我猜对了,你想从数据库中选择即将到来的记录。所以在这里您只是编写了一个查询但没有执行它。您还必须执行该查询才能获取记录并在如下代码中使用它:

$result = $conn->query($sql);

if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {
        echo "Title: " . $row["news_titel"]. "<br>";
    }
} else {
    echo "0 results";
}
$conn->close();

1
投票

这将是一个很好的 SQL 查询来实现我的目标。首先,选择要从哪个表输出的列,然后检查该日期是否是将来的日期。接下来,将记录按升序排序,并将输出的记录限制为一条。这将输出下一条记录。

SELECT name, Date FROM Datesort WHERE Date >= NOW() ORDER BY Date LIMIT 1;
© www.soinside.com 2019 - 2024. All rights reserved.