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())");
我想创建一个“在这一天”的小网站。 当我想在我的数据库中搜索“那天”发生的事件时,我遇到了问题。比如显示 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())");