2015-04-03 106 views
0

我需要从数据库中获取售出价格和数量,然后将它们相乘以得到每个数据的输出,然后将它们一起添加。我想我可以使用foreach循环,但我不确定变量是否每次都会保留它的值。这是我到目前为止所尝试的:将多行中的列值相乘,然后添加

$query = "SELECT * FROM `inv`"; 
    $data = mysqli_query($dbc, $query); 
    while($row = mysqli_fetch_array($data)){ 
     if(isset($fin2)){ 
      $fin = $fin2; 
     } else { 
      $price = str_replace('$', '', $row['price']); 
      $fin2 = ($row['sold'] * $price + $fin);     
     } 
     if(isset($fin)){ 
     $fin = ($fin + $fin2); 
     echo $fin; 
     } 

正如你所看到的,我有点困惑,任何帮助将不胜感激。

回答

1

为什么不在数据库中进行计算?

SELECT SUM(price * sold) as total 
FROM `inv`; 

编辑:

SELECT SUM((replace(price, '$', '') + 0) * sold) as total 
FROM `inv`; 
+0

......咄。谢谢 – Core 2015-04-03 18:11:52

+0

好吧,他的价格行似乎有一个美元符号,所以它的稍微复杂一点就是 – 2015-04-03 18:24:07

+0

'select sum(trim(引导'$'from price)* sold)'会做 – 2015-04-03 18:26:50

相关问题