【问题标题】:Calcuate sum of all items based on their status and itemname根据状态和项目名称计算所有项目的总和
【发布时间】:2017-03-11 12:52:20
【问题描述】:

大师们, 这对你们来说可能是一个简单的问题,我目前无法弄清楚这个问题。

我想根据用户名和项目名计算 TABLENAME 的总金额。下面这段代码计算得很好。

$item_name (name1, name2, name3, ... nameN)

    for ($i=0;$i<=count($item_name);$i++) 
    {
    if ($item_status[$i] != 0)  {

    $sqloverall=$Db1->query("SELECT  SUM(amount) as usramount FROM 
TABLENAME WHERE user_name='$user_name' and item_name='$item_name[$i]'");
    $temp=$Db1->fetch_array($sqloverall);
    $overall[]=$temp[usramount];

这运行成功。我将价值纳入 $overall[] .. 我做了一些 使用 if 条件进行额外计算。

if ( condition)   
{
//run this code // some calcuations
$profit= ($overall[$i] * 8970 )/100
 }

else  
{
//run this code  // some calcuations
$profit= ($overall[$i] * 1254 )/100
}
}
}

问题: 我还需要将 $overall[]=$temp[usramount]; 计算为单个变量。这样我就可以在for循环之外显示它。 目前它显示这样的值

$overall[0] $overall[1] $overall[N]

请指导我如何将$overall[$i] 组合成可以在 for 循环外显示的单个变量

最终输出:根据状态计算所有项目的总和 user_name ,某些项目状态可能被禁用。

编辑1:

我需要对 $overall[] 求和并在 for 循环外显示。 $var = SUM($overall[]) ; 这是实际需要的。

结合 $overall[0] , $overall[1] , $overall[2], $overall[N] ,

作为所有数据之和的单个变量并显示它。

【问题讨论】:

  • 为什么不直接使用$overall[$i]
  • 它将需要另一个 for 循环来显示值.. 我想将它组合到单个变量中
  • 你想要什么单变量? $var = $overall[$i] 还是什么?
  • anything = $overall[$i] .. 想法是将 $overall[$i] 值组合成单个变量
  • 那么$var = $overall[$i]有什么问题?

标签: php mysql for-loop


【解决方案1】:

如果您需要数组所有元素的总和 - 有 array_sum 函数:

$total = array_sum($overall);

【讨论】:

  • 你看到你所有的大问题都可以用几个词来代替吗?
  • 没错...我没明白...为什么我必须解释整个事情并在这里编写所有代码
猜你喜欢
  • 2018-08-15
  • 2018-10-16
  • 1970-01-01
  • 2010-09-07
  • 1970-01-01
  • 2018-02-04
  • 1970-01-01
  • 2017-06-25
  • 1970-01-01
相关资源
最近更新 更多