2012-07-14 3 views
-1

Как получить значения групп радио в формате массива? Вот мой отправитель (game.php) и приемник (result.php)Как отправлять и получать массивы радиогрупп?

Я хотел проверить элементы группы радио (да или нет) с правильными ответами из базы данных и увеличить точку, если она правильная.

game.php:

$conn= mysql_connect($servername,$username, $password)or die(mysql_error()); 
    mysql_select_db($database,$conn); 

    $sql = "SELECT * from questions"; 
    $result=mysql_query($sql); 
    $num=mysql_numrows($result); 

    $i=0; 
    echo("<FORM ACTION='./result.php' METHOD=GET>"); 
    while($i < $num){ 
     $field = array($i => mysql_result($result,$i,"question")); 
     $j = $i + 1; 
     echo "<b>[$j] </b>$field[$i]<br>"; 
     echo ("<label> 
     <input type='radio' name='radioGroup[$i]' value='yes' id='radioGroup_1'> 
     Yes</label><label> 
     <input type='radio' name='radioGroup[$i]' value='no' id='radioGroup_1'> 
     No</label><br>"); 
    $i++; 
    } 

    echo "<input type='submit'>"; 
    echo("</FORM>"); 
    echo("<br>"); 

result.php:

$conn= mysql_connect($servername,$username, $password)or die(mysql_error()); 
    mysql_select_db($database,$conn); 

    $sqlcode = "SELECT * FROM questions"; 
    $cal=mysql_query($sqlcode); 
    $num = mysql_numrows($cal); 
    $m=0; 

    while ($m < $num){ 
     $user_answer = array($m => $_GET["radioGroup"]);  
     $m++; 
    } 



    $k = 0; 
    $point = 0; 
    $sql = "SELECT * from questions"; 
    $result=mysql_query($sql); 
    while($k < $num){ 
     $answer = array($k => mysql_result($result,$k,"answer")); 

     if ($answer[$k] == $user_answer[$k]){ 
      $point++ ; 
     } 

     echo "puan:"; 
     echo $point; 
     $k++; 
    } 
+0

Не тот же вопрос [здесь] (http://stackoverflow.com/ вопросы/11485682/radio-group-information-added-to-array)? – j0k

+0

Я удалил его. – Yagiz

+0

Просто подсказка: избегайте эха HTML по большей части. – rcdmk

ответ

4

Вы не понимаете, как вы получаете значения формы.

В вашем коде (result.php) $_GET["radioGroup"] представляет собой массив со всеми ответами.

Попробуйте этот простой скрипт, чтобы понять, как это работает:

<form> 
    <input type='radio' name='radioGroup[1]' value='yes' checked="checked" /> 
    <input type='radio' name='radioGroup[1]' value='no' /> 
    <br/> 
    <input type='radio' name='radioGroup[2]' value='yes' /> 
    <input type='radio' name='radioGroup[2]' value='no' checked="checked" /> 
    <br/> 
    <input type='submit' name='submit' value='true' /> 
</form> 

<pre> 
<?php 

    if(isset($_GET['submit'])) 
    { 
     print_r($_GET); 
    } 

А выход таков:

Array 
(
    [radioGroup] => Array 
     (
      [1] => yes 
      [2] => no 
     ) 

    [submit] => true 
) 
+0

Я до сих пор не понял, как получить результаты от game.php? – Yagiz

Смежные вопросы