PHP + SQL : 搜索当天、同月、不分年份的事件

PHP + SQL : Search for event in the same day, same month, no matter the year

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

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

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

搜索当天+同月搜索,无论哪一年,改什么都可以?

根据日期内容的类型,这些内容可能会满足您的要求。

$result = mysqli_query($conn,"
SELECT * 
  FROM memories 
 WHERE DAY(datecontent)=".date("d")." 
   AND MONTH(datecontent)=".date("m"));

由于您希望 return 记忆始终与今天的日期匹配,因此您可以完全在 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())");