Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.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 将当前年度和月份与在sql查询中输入的y/m数据库进行比较_Php_Mysql_Date_Select - Fatal编程技术网

Php 将当前年度和月份与在sql查询中输入的y/m数据库进行比较

Php 将当前年度和月份与在sql查询中输入的y/m数据库进行比较,php,mysql,date,select,Php,Mysql,Date,Select,无法编写将当前月份和年份与我的数据库m/y进行比较的完整函数。数据库中的日期来自now函数。我想根据这个比较来计算成本。比如: $currentDate = date("Y-m"); $query = mysql_query ("SELECT SUM(cost) FROM memberorders WHERE memberNumber=$memNum AND (SELECT DATE_FORMAT(orderDate, '%Y-%m'))=$currentD

无法编写将当前月份和年份与我的数据库m/y进行比较的完整函数。数据库中的日期来自now函数。我想根据这个比较来计算成本。比如:

$currentDate = date("Y-m");
$query = mysql_query ("SELECT SUM(cost) FROM memberorders WHERE 
         memberNumber=$memNum AND 
        (SELECT DATE_FORMAT(orderDate, '%Y-%m'))=$currentDate");
但这不起作用。然后我需要一个函数的帮助来总结它

$test1 = mysql_fetch_array($query);
$total = $test1[0];

这对浏览数据库并对其进行总结有用吗?

不要这样做,如果您希望使用索引,请不要对OrderDate列这样的列应用任何函数,如DATE\u FORMAT函数。如果可以在应用程序PHP代码中创建固定的月初,请尝试以下操作:

选择总成本 来自会员订单 其中memberNumber=$memNum 订单日期>='2013-01-01'-本月第一天 订单日期<'2013-02-01'下个月的第一天 或者,如果您希望在MySQL中处理它:

选择总成本 来自会员订单 其中memberNumber=$memNum 和订单日期>=最后一天现在+间隔1天-间隔1个月 订单日期<最后一天现在+间隔1天;
解释$currentDate的格式。无需使用内部选择查询。你可以直接比较日期。你使用的日期格式是什么?我更新了帖子。当前日期正确地显示了今天的年和月。@Saharsh我需要一个子查询,因为我不想比较日期。仅当成本列与我们现在所在的月份相同时求和,如果这样做有意义,您可以使用相同的日期格式函数,而无需内部查询。检查我的答案并尝试一下谢谢你的建议,但我不知道我是否能用上它。我想在会员页面上显示会员的费用总额。因此,当新的一个月开始时,它需要重新设置。它需要逐月进行,所以没有结束日期,这就是它所做的。它合计了2013年1月本月的所有成本。第一个版本需要一些PHP代码。第二个版本将在没有任何附加代码的情况下工作。第二个版本将在当前月份的每个月执行此操作。现在将返回当前的datetime,其余的LAST_DAY和stuff将计算所需的本月第一天和下个月第一天的开始和结束时间。它有一个小错误,现在已经更正了。该死…我尝试了代码,将其更改为只从今天的日期这一行中检索一个值,我得到了一个mysql_fetch_assoc错误…需要一个参数$query=从memberorders中选择*,其中orderDate>=LAST_DAYNOW-间隔1个月+间隔1天,orderDate