-4

フォーム データを次のような php ページに送信します: question1 question2 。. . もっと。

このバリアントを合計したいのですが、わかりません。私はこのコードを使用しますが、動作しません:

$total=0;
for ($i=1; $i<=$countc; $i++) {
    $sag = "question" . $i;
    $_POST[$sag];
    $total = $total+$_POST[$sag];
    echo $total;   // I wanna show sum of all form vars.
}

私のフォーム:

  echo "
      <form method='post' action='result.php?result=$name' />
      <input name='$name' style='visibility:hidden' /><br />
";
  for ($i=0;$i<$countq;$i++){
  echo "${'countquestion'.$i}<br />";

  for ($j=0;$j<$countc;$j++){
echo "${'countchoice'.$j.'countquestion'.$i}
<input type='radio' value='${'countchoicepoint'.$j.'countquestion'.$i}'    name='question$i' /><br />
";
                          }
                      }
      echo "
       <input type='submit' value='sabt' />
        ";
4

1 に答える 1

1

array_sum を使用して、数値の配列を追加できます。

http://php.net/manual/en/function.array-sum.php

コードに関しては、 foreach ループを使用することをお勧めします

$total = 0;
foreach ($_POST["answers"] as $question=>$answer) $total+=$answer;

$_POST["answers"] 変数内のすべての回答に問題があると仮定します。$_POST に回答のみを保存する場合は、次を使用できます。

$total = 0;
foreach ($_POST["answers"] as $answer) $total+=$answer;

ただし、これは array_sum (連想配列と非連想配列の両方) を使用して簡単に行うことができます。

それを文字列に連結するには、implode を使用できます: http://php.net/manual/en/function.implode.php

于 2013-08-19T10:02:30.980 に答える