2012-12-19 44 views
0

下面的代碼的顯示訂購的產品個體重量:薩姆PHP數組

$weightsql = 'select op.products_name, op.products_quantity , p.products_weight from ' . TABLE_ORDERS_PRODUCTS . ' op left join ' . TABLE_PRODUCTS . ' p on op.products_id = p.products_id where op.products_id = '.$pro['products_id']; 

$weightq = tep_db_query($weightsql); 

while ($weight = tep_db_fetch_array($weightq)){ 

     if($category_parent_id != 0)$list_items[] = $weight['products_weight'].'   '; 

} 

這顯示了每個訂購產品的wieght。我被卡住的是而不是顯示單獨的重量,我需要顯示一個總重量。例如,如果產品被勒令三次,它的重量7千克,此刻的代碼表明:

Product     7.00 7.00 7.00 

我將如何使其顯示總重量,21公斤?

+0

在這種情況下,你不能流數據。在將所有數據彙總之前,您必須迭代所有數據。 – ComFreek

+7

讓我們來看看,我有一個**數組**,並且我希望其中的項**的總和**。現在,什麼可能會這樣一個函數被稱爲... – DaveRandom

+2

@DaveRandom - 讓他只是讓他擺脫他的痛苦..... [array_sum()](http://php.net/manual/en/function.array -sum.php) – SDC

回答

3

使用array_sum()

array_sum() examples 
<?php 
$a = array(2, 4, 6, 8); 
echo "sum(a) = " . array_sum($a) . "\n"; 

$b = array("a" => 1.2, "b" => 2.3, "c" => 3.4); 
echo "sum(b) = " . array_sum($b) . "\n"; 
?> 
The above example will output: 
sum(a) = 20 
sum(b) = 6.9 
+0

我試過了,爲什麼我會問這個問題?我得到一個錯誤,在結果 – user1879415

+0

@ user1879415可能是因爲你的數組包含'字符串'而不是'整數'或'浮動'? – Peon

+0

也許對給定的代碼的解釋可能有助於 – user1879415

0

只需設置一個計數器爲0,循環之前,並添加循環中做到這一點,是這樣的:那麼

$total = 0; 
$weightsql = 'select op.products_name, op.products_quantity , p.products_weight from ' . TABLE_ORDERS_PRODUCTS . ' op left join ' . TABLE_PRODUCTS . ' p on op.products_id = p.products_id where op.products_id = '.$pro['products_id']; 

$weightq = tep_db_query($weightsql); 

while ($weight = tep_db_fetch_array($weightq)){ 
     if($category_parent_id != 0) { 
      $list_items[] = $weight['products_weight'].'&nbsp;&nbsp;&nbsp;'; 
      $total += $weight['products_weight']; 
     } 

} 

變量$總應該返回21

0

如果您已通過ID選擇產品,最簡單的解決方案是將行數乘以重量。無需將其放入數組中。

0
$weightsql = 'select op.products_name, sum(op.products_quantity * p.products_weight) as weightsum from ' . TABLE_ORDERS_PRODUCTS . ' op left join ' . TABLE_PRODUCTS . ' p on op.products_id = p.products_id where op.products_id = '.$pro['products_id']; 


echo $weight['weightsum'] 

謝謝你的幫助(!)