php - 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'");
无论哪一年,我可以更改什么来搜索同一天+同一个月的搜索?
解决方案
由于您希望返回始终与今天日期匹配的记忆,因此您可以完全在 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())");
推荐阅读
- keystonejs - 如何在 KeystoneJS 中使用谷歌地图
- c# - C#如何将一个列表中的对象添加到另一个列表中
- python - 是否有任何pytorch函数可以将张量的特定连续维度合二为一?
- javascript - 用星号向上和向下计数的嵌套循环
- angularjs - 为什么元素指令的宽度和高度计算为0?
- mysql - MySQL使用触发器并行插入多个表
- tensorflow - TensorFlow 是否支持 Windows 上的 Python 3.6.4?
- spring - 备用 Quartz Scheduler 是否需要某种刷新才能启动?
- quickbooks - Quickbooks 与我期望的 qbXML 版本不兼容
- .net - 使用 StreamReader (vb.net) 从文件中读取内容