Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从表中选择*其中月份=下个月在今天_Php_Mysql - Fatal编程技术网

Php 从表中选择*其中月份=下个月在今天

Php 从表中选择*其中月份=下个月在今天,php,mysql,Php,Mysql,我正在尝试制作一个小型的、轻量级的基于PHP的工作表系统。我知道在网上我可以找到很多,但这些对我来说太过分了 我有一张桌子: ID date user_name workplace1_am workplace1_pm workplace2_am workplace2_pm 对于当前月份和当前日期,我解决了这个问题 现在我只需要从表中获取下个月的数据: SELECT * FROM table WHERE ... 带日期字段 带时间戳字段 带日期字段 带时间戳字段 一个很好的例子是确保月列是日期

我正在尝试制作一个小型的、轻量级的基于PHP的工作表系统。我知道在网上我可以找到很多,但这些对我来说太过分了

我有一张桌子:

ID
date
user_name
workplace1_am
workplace1_pm
workplace2_am
workplace2_pm
对于当前月份和当前日期,我解决了这个问题

现在我只需要从表中获取下个月的数据:

SELECT * FROM table WHERE ...
带日期字段 带时间戳字段 带日期字段 带时间戳字段
一个很好的例子是确保月列是日期,所以将其转换为日期, 然后与提取日期的CURDATE进行比较。现在,将日期和时间与日期进行比较时不起作用

SELECT whatever_you_need
FROM table
WHERE date = CURDATE() + INTERVAL 1 MONTH
注意:我不建议您只使用SELECT*拉出所有内容,您应该始终拉出所需的特定行

编辑: 为了找到一年又一个月,你可以这样做

SELECT whatever_you_need
FROM table
WHERE EXTRACT(year_month FROM date) = EXTRACT(year_month FROM CURDATE() + INTERVAL 1 MONTH)

year\u month以yyyymm格式返回数据,因此它是一个函数调用中按月份和年份进行的唯一比较

一个很好的示例是确保月列是日期,以便将其强制转换为日期, 然后与提取日期的CURDATE进行比较。现在,将日期和时间与日期进行比较时不起作用

SELECT whatever_you_need
FROM table
WHERE date = CURDATE() + INTERVAL 1 MONTH
注意:我不建议您只使用SELECT*拉出所有内容,您应该始终拉出所需的特定行

编辑: 为了找到一年又一个月,你可以这样做

SELECT whatever_you_need
FROM table
WHERE EXTRACT(year_month FROM date) = EXTRACT(year_month FROM CURDATE() + INTERVAL 1 MONTH)
year_month以yyyymm格式返回数据,因此它是在一个函数调用中按月份和年份进行的唯一比较

用这个

参考这一点非常有用

用这个

参考这一点非常有用


张贴你的尝试…事实上我没有这些,因为我不知道怎么做。谢谢你的更正,下次我知道了!编辑:我忘了通知,我的表内日期是20140901格式,对不起!张贴你的尝试…事实上我没有这些,因为我不知道怎么做。谢谢你的更正,下次我知道了!编辑:我忘了通知,我的表内日期是20140901格式,对不起!你可能是说CURDATE。@MateuszNowak-yup已经修好了:谢谢!我发现我的sql和date列上有一个错误,没有标记为date。在你的提示下,我终于让它工作了。你可能是说CURDATE。@MateuszNowak-yup已经修好了:谢谢!我发现我的sql和date列上有一个错误,没有标记为date。在你的提示下,我终于让它工作了。有了这个:从列表中选择*我从MONTHdate获取当前月份数据。我忘了通知,我的表内日期是20140901格式,对不起!我已经更新了答案。使用此选项:从我获取当月数据的MONTHdate所在的班次列表中选择*。我忘了通知,我的表内日期是20140901格式,对不起!我已经更新了答案。
SELECT DATE_ADD($currentdate, INTERVAL 1 MONTH);