2017-04-26 9 views
1

私はラジオボタンをグループ化したhtmlフォームを持っています。この形式は、私は名前qをカウントhtmlラジオボタンの値はPHPで

$count_cbox = count($_POST['q']) 

とラジオボタンの数を数えることができる。しかし、それは、ユーザiがカウント選択を行ったときにすることが可能である知っている

<form action="results.php" method="post" enctype="multipart/form-data"><br> 
      <p>Have you ever turned a client down?</p> 
      <div id="q_1"> 
       <input type="radio" name="q[]" id="q_1_yes" value="yes"> 
       <label for="q_1_yes">Yes</label> 
       <input type="radio" name="q[]" id="q_1_no" value="no"> 
       <label for="q_1_no">No</label> 
      </div><br> 
      <p>Are you comfortable with failure?</p> 
      <div id="q_1"> 
       <input type="radio" name="q[]" id="q_2_yes" value="yes"> 
       <label for="q_2_yes">Yes</label> 
       <input type="radio" name="q[]" id="q_2_no" value="no"> 
       <label for="q_2_no">No</label> 
      </div><br> 
      <p>Can your concept be easily described and understood?</p> 
      <div id="q_1"> 
       <input type="radio" name="q[]" id="q_3_yes" value="yes"> 
       <label for="q_3_yes">Yes</label> 
       <input type="radio" name="q[]" id="q_3_no" value="no"> 
       <label for="q_3_no">No</label> 
      </div><br> 
        <input type="submit" name="sub_eit" id="sub_eit" value="Submit"> 
       </div> 
      </form> 

はいまたはいいえオプション

質問が含まれていますラジオボタンの値は「はい」または「いいえ」です。

+0

'$ _POST'を繰り返し、' yes'がどれくらい見つかったかを数えます。 'switch(yesCount){case 1:/ *任意のコード*/break;ケース2:/ *任意のコード* /ブレーク;} ' –

+0

いくつかのカウント変数を使用するか、結果を配列に格納できます。 –

+0

btwそれは '推薦'ではない 'お勧め' –

答えて

0

ラジオボタンの名前を少し変更してください。それ以外の場合はグループ化は動作しません:

<form method="post" enctype="multipart/form-data"><br> 
<p>Have you ever turned a client down?</p> 
<div id="q_1"> 
    <input type="radio" name="q[0]" id="q_1_yes" value="yes"> 
    <label for="q_1_yes">Yes</label> 
    <input type="radio" name="q[0]" id="q_1_no" value="no"> 
    <label for="q_1_no">No</label> 
</div><br> 
<p>Are you comfortable with failure?</p> 
<div id="q_1"> 
    <input type="radio" name="q[1]" id="q_2_yes" value="yes"> 
    <label for="q_2_yes">Yes</label> 
    <input type="radio" name="q[1]" id="q_2_no" value="no"> 
    <label for="q_2_no">No</label> 
</div><br> 
<p>Can your concept be easily described and understood?</p> 
<div id="q_1"> 
    <input type="radio" name="q[2]" id="q_3_yes" value="yes"> 
    <label for="q_3_yes">Yes</label> 
    <input type="radio" name="q[2]" id="q_3_no" value="no"> 
    <label for="q_3_no">No</label> 
</div><br> 
<input type="submit" name="sub_eit" id="sub_eit" value="Submit"> 
</div> 
</form> 

PHPコード:

for($i = 0; $i < count($_POST['q']); ++$i) { 
    if($_POST['q'][$i] == 'yes') { 
     ++$yes; 
    } 
} 

今すぐ$ yesの値はいとラジオボタンの数が含まれています。この場合0-3。ラジオボタンが選択されていなければ、0ではなくNULLを返します。

+0

非常にありがとう@カッパリナしかし、私はあなたが選択した "はい"の正確な量をチェックするのですか? – WhiteHox

+0

あなたは3つのラジオグループを持っていて、それぞれイエスとノーを持っています。したがって、3つすべての質問にyesまたはそれ以上の答えがある場合、$ yesには3が含まれます。 または、すべての質問にnoと答えた場合はNULL。 これはあなたの質問に答えますか? :) – Kapparina

+0

私は 'if($ yes <2){コードのブロックを実行する'}という文を書こうとしましたが、これはうまくいきません。 – WhiteHox