2016-04-06 47 views
0

HTMLコードPHP複数のチェックボックス列 - チェックチェックボックスの合計金額 - チェックチェックボックスの合計金額を取得

0<input type="checkbox" name="count[]" id="count[]" value="0"/> 
<input type="hidden" name="language[]" id="language" value="C++"/>C++ 
<input type="hidden" name="price[]" id="price" value="700"> <br/> 

1<input type="checkbox" name="count[]" id="count[]" value="1"/> 
<input type="hidden" name="language[]" id="language" value="Assembler"/>Assembler 
<input type="hidden" name="price[]" id="price" value="600"><br/> 

2<input type="checkbox" name="count[]" id="count[]" value="2"/> 
<input type="hidden" name="language[]" id="language" value="Java"/>Java 
<input type="hidden" name="price[]" id="price" value="500"> <br/> 

3<input type="checkbox" name="count[]" id="count[]" value="3"/> 
<input type="hidden" name="language[]" id="language" value="PHP"/>PHP 
<input type="hidden" name="price[]" id="price" value="400"> <br/> 

4<input type="checkbox" name="count[]" id="count[]" value="4"/> 
<input type="hidden" name="language[]" id="language" value="PHP"/>PHP 
<input type="hidden" name="price[]" id="price" value="400"> <br/> 

<input type="submit" name="sbt" id="sbt" value="SUBMIT"> 

これは、合計を計算するためにどのようにPHP

<?php 

if(isset($_POST['sbt'])){ <br/> 
    $count = $_POST['count']; <br/> 
    $sub_menu = $_POST['sub_menu']; <br/> 
    $sub_price = $_POST['sub_price']; <br/> 

foreach($count as $j) 

    echo $sub_menu[$j] . '['.$sub_price[$j]. ']' ;<br/> 
}<br/> 
?> 

のですか?例えば

:選択されたプログラミング言語の

合計価格: C++、Javaの= 1200 $

+0

あなたは価格ではなく、フォーム上の価格を送信するのが何であるかをサーバー上でチェックすることができます確認のチェックボックスに基づいています。誰かがそのフォームの価格を変更し、別の価格を送ることができます。 –

答えて

0

価格は、あなたがこのような合計を計算することができ、配列として提出なっているので:結果は以下のように表示されるべきです

$prices = []; 
foreach ($_POST['price'] as $key => $value) { 
    if (empty($prices[$_POST['language']])) { 
     $prices[$_POST['language']] = (int)$value; 
    } 
    else { 
     $prices[$_POST['language']] += (int)$value; 
    } 
} 
:あなたが言語によってグループ合計にしたい場合は

$totals = 0; 
foreach ($_POST['price'] as $value) { 
    $totals += (int)$value; 
} 
echo 'Total Price of Selected Programming Languages :', implode(',', $_POST['language']), ' = ', $totals, '$'; 

その後することができます言語によって、この新しい配列と出力総数ループスルー:

echo 'Total Price of Selected Programming Languages '; 
foreach($prices as $language => $total) { 
    echo "{$language}: {$total}, "; 
} 
+0

私はそれが '' $ total_price + =(int)$ value; ''であるべきだと思います – ub3rst4r

関連する問題