繁体   English   中英

获取所有数据,直到当月

[英]get all the data until current month

我有一个包含两列MONTH和TEXT的数据库。

如何显示所有条目,但不显示超过当前月份的月份? (例如,如果我在3月,8月和12月有文本,而我们在8月,则我只希望显示3月和8月的文本。)

<?php

// select all data at once

$construct ="SELECT * from table WHERE MONTH(DataIntroducere) = ???";
rest of code

?>

我想要这个,因为我将输入未来月份的文本,但我不希望它显示。

尝试像

$construct ="SELECT * FROM table WHERE MONTH(DataIntroducere) <= ".date('m');

或者在mysql中,您可以尝试像

$construct ="SELECT * from table WHERE MONTH(DataIntroducere) <= MONTH(CURDATE())";

并尝试避免由于整个ext/mysql PHP扩展而产生mysql_*语句,该扩展提供了所有以mysql_*前缀命名的功能,自PHP v5.5.0 mysql_*正式弃用, 并将在以后删除

您可以更好地使用另外两个MySQL扩展: MySQLiPDO_MySQL ,可以使用其中任何一个代替ext/mysql

最明智的方法是将日期另存为unix时间戳。 http://www.unixtimestamp.com/index.php

大多数编程语言都提供返回unix时间戳的方法。 然后,您可以将当前月份转换为时间戳并进行类似的查询

SELECT * FROM table WHERE month < timestamp_of_current_month
$construct = "SELECT * FROM table WHERE DATE(DataIntroducere) <= DATE(NOW());

这是(正确的)一种。 而且您不必关心YEAR(),MONTH(),CURDATE()或其他任何内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM