0

我会使用 12 个不同的函数计算每个月数据库的总利润 [每个月一个(是的,它可能不是一个很好的解决方案,但我正在逐步学习)]

这是 .php 代码(x12 次)

$January="SELECT JanuaryProfit()";     //Function
echo "<b>January Profit: E</b>";
$January = mysql_query($giugno,$conn)
          or die("Query failed: " . mysql_error($conn));
$num_rows=mysql_num_rows($January);

if (! $num_rows)
      echo "<p>0</p>";
else {
      while ($row = mysql_fetch_row($January)) {
            $price=$row[0];
            echo "$price";
      };
}

函数 JanuaryProfit() 以这种方式声明 [MySQL]:

BEGIN
DECLARE PriceTOT FLOAT;
SELECT SUM(o.PrezzoTot) INTO PriceTOT
FROM orders o
WHERE o.Data BETWEEN '2012-01-01' AND '2012-01-31';
RETURN PriceTOT;
END

所以我特别宣布了 2 月、3 月、...、12 月。

我不会将第一个代码粘贴 12 次到 .php 页面中。我尝试使用每次使用不同功能的 for cicle,但我不知道如何正确解决这个问题。有什么建议吗?

我现在想做的只是改变 php 部分,使用循环。

4

1 回答 1

1

哦,我亲爱的,甜美的,会飞的意大利面怪物。停止你正在做的任何事情,然后烧掉它,然后使用类似下面的东西来避免从开始到结束为每年的每个月编写一个函数。

SELECT 
  YEAR(o.Data) as 'year',
  MONTH(o.Data) as 'month',
  SUM(o.PrezzoTot) as 'total'
FROM orders o
GROUP BY YEAR(o.Data), MONTH(o.Data)

我假设您在某些时候难以以编程方式确定该月的最后一天,所以这里有另一个链接,LASTDAY()它也是所有非常有用的日期函数的文档页面。


编辑

define('masochism', TRUE);

$ohgodwhy = array('January','February','March','April','May','June','July','August','September','October','November','December');

$aaahhh = 'SELECT %sProfit()';

foreach( $ohgodwhy as $pleaseno ) {
    $itburns = sprintf($aaahhh, $pleaseno);
    $hidethebodies = mysql_query($itburns) or die("Couldn't hide the bodies because: " . mysql_error());
    // etc...
}
于 2012-12-05T21:09:04.883 回答