2012-11-12 44 views
1

型動物,我這樣做,顯示在數據庫中的問題和答案形式,現在我需要保存用戶標記的答案。動態單選按鈕,具有無限的名稱

我需要爲每個單選按鈕或選擇下拉菜單中的名稱。問題:我將php和html結合在一起,我不知道如何傳遞單選按鈕的名字,或者在語法上正確選擇下拉列表的名稱。在單選按鈕的答案名稱均爲其ID展示所有這些(RADIO17,Radio18,RADIO19,RADIOX ...),現在我需要保存單選按鈕,由用戶選中的特定ID,例如RADIO19。請幫助。

 <!--RADIO BUTTON--> 

       <div> 
        <label class="desc"name="question" value=" <?php $row_questionset['QuestionIDFKPK'];?>"> 
        <?php echo $row_questionset['QuestionValue']; ?> 

        </label> 
       </div> 
        <?php while ($row_Answer=mysql_fetch_array($AnswersValue)){ ?> 
        <fieldset class="radios"> 

         <label class="label_radio"> 


         **<input name="RADIO<?= $row_Answer['AnswerIDPK'] ?>" value=" <?= $ValueIDradio=$row_Answer['AnswerIDPK'] ?>" type="radio" />** 
         <?php echo $row_Answer['AnswerValue']; ?> 
         </label> 


        <?php } ?> 
        </fieldset> 


     <!--INSERTING ANSWERS--> 
           <?php 

            $name=$_POST['RADIO1']; 

           if(isset($_POST['submit'])){ 



        ??????? -> $name=$_POST['RADIO$row_Answer['AnswerIDPK']']; 

           $query_AnswerSelected="SELECT * FROM tblanswer WHERE tblanswer.AnswerIDPK = '".$name."' "; 
           $AnswersValueSelected= mysql_query($query_AnswerSelected);                  
           $row_AnswersValueSelected=mysql_fetch_array($AnswersValueSelected); 
           $Avalue= $row_AnswersValueSelected['AnswerValue']; 
           $useranswer= "INSERT INTO `nuevaspruebas`.`tbluseranswer` (`UserIDFKPK`, `AnswerIDFKPK`, `QuestionIDFK`, `AnswerValue`) VALUES ('$UserId','$name', '$QuestionID', '$Avalue')"; 
           mysql_query($useranswer); 
           <?= $nameradio=$row_Answer['AnswerIDPK'] ?>; 
           } 
            ?> 
           <!--INSERTING ANSWERS--> 


      <!--RADIO BUTTON--> 


<?php } ?> 

回答

1

你將不得不通過在名稱attrbuite問題id和答案的值的答案必須在價值傳遞ATTR

運行這段代碼的想法:

<?php 
    if($_POST['submit']){ 
     #you can loop through answers using 
     foreach($_POST['question'] as $quesID => $ansID){ 
      //action goes here 
     } 
     #view all the posted data 
     echo "<pre>"; 
     print_r($_POST); 
     echo "</pre>"; 
    } 
?> 
<?php 
    $FirstQuestionID = 1; 
    $SecondQuestionID = 2; 
?> 
<form method=post action=<?=$_SERVER['PHP_SELF'];?> > 
    first question 
    <br /> 
    <input type="radio" name="question['<?=$FirstQuestionID;?>']" value='1' /> 
    <input type="radio" name="question['<?=$FirstQuestionID;?>']" value='2' /> 
    <input type="radio" name="question['<?=$FirstQuestionID;?>']" value='3' /> 
    <input type="radio" name="question['<?=$FirstQuestionID;?>']" value='4' /> 
    <br /> 
    second question 
    <br /> 
    <input type="radio" name="question['<?=$SecondQuestionID;?>']" value='1' /> 
    <input type="radio" name="question['<?=$SecondQuestionID;?>']" value='2' /> 
    <input type="radio" name="question['<?=$SecondQuestionID;?>']" value='3' /> 
    <input type="radio" name="question['<?=$SecondQuestionID;?>']" value='4' /> 
    <br /> 
    <input type=submit name=submit value=submit /> 
</form> 
+0

非常感謝Mohd Moe,這對我有很大的幫助。我在尋找的東西太多了。我只需要改變你的example.Thanks的QuestionID :) – Rgg

+0

的靜態值,不客氣,只接受的答案,投了';);)' –

0

如果你有一個是互斥的,所有的必須使用相同的名稱命名單選按鈕。在這個意義上你的命名RADIO1的策略,RADIO19,RADIOxx,等會給你帶來問題,因爲所有的無線電設備可以檢查(沒有一個專門處理)。

試着這麼做:

<input name="radioName" value="<?= $ValueIDradio=$row_Answer['AnswerIDPK'] ?>" type="radio" /> 

和插入的答案時,就可以知道在這裏檢查無線電:

$ radioChecked = $ _REQUEST [ 'radioName'];

+0

和問題ID?如果他有多個問題,他必須在答案ID中傳遞問題ID。 –