使用日期范围的计算没有给出输出php
我的php脚本从表单中获取两个日期并尝试在这两个日期之间获得利润计算。使用日期范围的计算没有给出输出php
在mysql中我的利润表有:ID(INT),order_profit(浮动)和order_date的(日期)
形式日期字段名是date_from和DATE_TO
的代码PHP脚本如下:
<?php
include("dbconnect.php");
$from_date=$_POST['date_from'];
$to_date=$_POST['date_to'];
echo "Small date : ".$from_date."<br>";
echo "Large date : ".$to_date;
$count=1;
$queryA=mysql_query("SELECT SUM(order_profit) FROM profit WHERE profit_date BETWEEN STR_TO_DATE($from_date, '%Y/%m/%d') AND STR_TO_DATE($to_date, '%Y/%m/%d') ");
while($row = mysql_fetch_array($queryA)){
$count++;
echo "Total Profit"." =". $row['SUM(order_profit)'];
}
echo $count;
echo "<br />";
?>
时,结果显示它显示两个日期和计数值2.这意味着while循环体被执行一次,但没有利润价值显示,但没有显示错误。
请帮我在这方面
检查你使用了正确的列名:
var_dump($row);
或名称它明确:
SELECT SUM(order_profit) as sum
谢谢你的回复。如何输出总和? – user752710 2011-05-13 16:40:49
...最后在'$ row ['sum'];' – sics 2011-05-13 16:41:15
'找到你的结果仍然不起作用 – user752710 2011-05-13 16:44:05
您还可以重复你的SQL在SQL编辑器中查询并运行它,以查看它实际返回的内容。我已经通过检查我的查询是否有效解决了一些无法追踪的PHP问题。
检查了这一点。恕我直言的日期必须被引用。如果还有一些情况,请检查mysql错误:mysql_error()是你的朋友。
<?php
include("dbconnect.php");
$query = "SELECT SUM(order_profit) as profitsum FROM profit ";
$query .= "WHERE profit_date BETWEEN STR_TO_DATE('".$_POST['date_from']."', '%Y/%m/%d') ";
$query .= "AND STR_TO_DATE('".$_POST['date_to']."', '%Y/%m/%d')";
// to check the query
echo $query ."<br/>";
$result = mysql_query($query) or die(mysql_error());
$row = mysql_fetch_array($result);
echo "Total Profit: ".$row['profitsum']."<br/>;
?>
非常感谢你......它工作正常......对我来说是一个很大的解脱 – user752710 2011-05-13 17:44:48
检查查询中的str_to_date是否正常工作。它可能会转换错误或返回null来指示失败,这会“中断”查询。 – 2011-05-13 16:43:50