2011-05-17 101 views
-1

HTML:獲得總[複選框]值

<input type="checkbox" name="product[book]" value="10" /> book 
<input type="checkbox" name="product[plane]" value="20" /> plane 

PHP:

 

foreach ($_POST['product'] as $name => $value) { 
    echo $value; 
} 
 

如何獲得總(總和)value如果用戶選擇兩個字段(書&面)

回答

1

在您的表單中您有一個產品陣列。如果你foreach,創建一個$ total = 0;在開始時,將值添加到它,最後你有一個總數。

您可以通過print_r($_POST)檢查該功能是否有效,並且您會看到任何選定的值顯示爲$ _POST數組中的數組的一部分。

0

嘗試

$total=0; 
    foreach ($_POST['product'] as $k) { 
    $total +=$k; 
}  
echo $total; 
4

您可以使用array_sum

$sum = array_sum(array_map('intval', $_POST['product'])); 

假設你的$_POST['product']領域已經檢查的有效性。

+0

我喜歡這個解決方案。謝謝:) – Cheerio 2011-05-17 10:15:28

+0

我更新了一下。 :) – smottt 2011-05-17 10:16:59

+0

完美+1必須 – diEcho 2011-05-17 10:17:51

0
$pTotal = 0; 
foreach ($_POST['product'] as $pVal) 
{ 
    $pTotal += intval($pVal,10); 
} 

確保您明確了格式類型。如果不檢查,我會希望這些值會是字符串,而不是整數......如果您嘗試添加它們,會給您帶來各種麻煩。 :)