首页 > 解决方案 > PHP + SQL : 搜索同一天、同一月、不限年份的事件

问题描述

我想创建一个“在这一天”的小网站。当我想在我的数据库中搜索“那天”发生的事件时,我遇到了问题。就像显示 12/10/ 2019或 12/10/ 2014或 12/10/ 2010的事件一样。不仅从今年开始。

我目前拥有的是一个执行 SQL 请求的 PHP 函数。但它只显示当年的当天事件。

$todayDate = date("Y-m-d");
$result = mysqli_query($conn,"SELECT * FROM memories WHERE datecontent LIKE '$todayDate'");

无论哪一年,我可以更改什么来搜索同一天+同一个月的搜索?

标签: phpmysqldatesearchdays

解决方案


由于您希望返回始终与今天日期匹配的记忆,因此您可以完全在 SQL 中完成此操作,而无需 PHP 变量。这是一个示例架构。

CREATE TABLE memories (
 id INT,
 datecontent DATE
);

INSERT INTO memories (id, datecontent)
VALUES (1,'2000-12-10'),(2,'1990-03-22'),(3,'2008-12-24');

我们可以将这一天发生的事件与以下样式的 SQL 语句相匹配。

SELECT * FROM memories
WHERE MONTH(datecontent) = MONTH(CURDATE())
AND DAY(datecontent) = DAY(CURDATE());

在 PHP 中这样做看起来像这样:


$result = mysqli_query($conn,"SELECT * FROM memories WHERE MONTH(datecontent) = MONTH(CURDATE()) AND DAY(datecontent) = DAY(CURDATE())");

推荐阅读