variables and radio buttons php

Discussion in 'PHP' started by Chrisa_dr, Jan 30, 2009.

  1. #1
    Hello,

    Im trying to make a test page using php and mysql. The test is automaticaly made from a mysql table. What i want to do is name each form part with a variable and then get the name of the variable and pass it on to another page (or the same that doesn't matter) so that i can grade the test submitted. The code i used is:

    <?
    $username="root";
    $password="****";
    $database="****";
     
    mysql_connect(localhost,$username,$password);
    @mysql_select_db($database) or die( "Unable to select database");
     
    //the name of the table from the previus page
     
    $table=$_POST['table'];
     
    $query="SELECT * FROM $table";
     
    $result=mysql_query($query);
     
    $num=mysql_num_rows($result);
     
    mysql_close();
     
    echo "<b><center>$table</center></b><br><br>";
     
    //the variables i used
    $j =1;
    $i=0;
    while ($i < $num) {
     
    //the fields of my database
     
    $id=mysql_result($result,$i,"id");
    $type=mysql_result($result,$i,"type");
    $question=mysql_result($result,$i,"question");
    $answ1=mysql_result($result,$i,"answ1");
    $answ2=mysql_result($result,$i,"answ2");
    $answ3=mysql_result($result,$i,"answ3");
    $answ4=mysql_result($result,$i,"answ4");
    $sosto=mysql_result($result,$i,"sosto");
    //the variables that would add and print the final score
    $sum=0;
    $count=0;
     
    // hidden variables 
    echo"<input type='hidden' name='id' value='$id' />";
    echo"<input type='hidden' name='question' value='$question' />";
    echo"<input type='hidden' name='answ1' value='$answ1' />";
    echo"<input type='hidden' name='answ2' value='$answ2' />";
    echo"<input type='hidden' name='answ3' value='$answ3' />";
    echo"<input type='hidden' name='answ4' value='$answ4' />";
    echo"<input type='hidden' name='sosto' value='$sosto' />";
    echo"<input type='hidden' name='table' value='$table' />";
     
     
     
    echo "<form action='pick4.php' method='post' >";
     
    if($type=="radio"){
     
    echo "$j. $question<br>";
    echo "<input type='radio' name='$j'  value='$j'>right $j<br>";
    echo "<input type='radio' name='$j'  value='$j'>wrong $j<br><hr>";
    echo"<input type='hidden' name='$j' value='$j' />";
    $j++;
    }
     
     
    else if($type=="fill"){
    echo "$j. $question<br>";
    echo "<input type='text' name='$j'  size='2'> $answ1<br>";
    echo "<input type='text' name='$j'  size='2'> $answ2<br>";
    echo "<input type='text' name='$j'  size='2'> $answ3<br>";
    echo "<input type='text' name='$j'  size='2'> $answ4<hr><br>";
    echo"<input type='hidden' name='q$j' value='$j' />";
    $j++;
     
    }
     
     
    else if($type=="select"){
    echo "$j. $question<br>";
    echo "<select name='$j'>";
    echo "<option value='$j'> $answ1</option>";
    echo "<option value='$j'> $answ2</option>";
    echo "<option value='$j'> $answ3</option>";
    echo "<option value='$j'> $answ4</option>";
    echo "</select><hr><br>";
    echo"<input type='hidden' name='q$j' value='$j' />";
    $j++;
    }
     
     
    $i++;
     
    }
     
    echo "<input type='submit' name='Submit'  value='Submit'>";
    ?>
    
    Code (markup):
    What i dont know is how to call the variables so that i can proccess the form. Please help me...
     
    Chrisa_dr, Jan 30, 2009 IP
  2. EricBruggema

    EricBruggema Well-Known Member

    Messages:
    1,740
    Likes Received:
    28
    Best Answers:
    13
    Trophy Points:
    175
    #2
    you have made one error, add the input types AFTER the start of your FORM.
     
    EricBruggema, Jan 30, 2009 IP
  3. zerxer

    zerxer Peon

    Messages:
    368
    Likes Received:
    18
    Best Answers:
    0
    Trophy Points:
    0
    #3
    Yes, this is one mistake. Another mistake is I do not see you echoing out </form> at the end of all the inputs at all.

    Not really sure I understand what your actual question is though.
     
    zerxer, Jan 31, 2009 IP
  4. Chrisa_dr

    Chrisa_dr Peon

    Messages:
    2
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #4
    do you mean put the echo "<form action='pick4.php' method='post' >"; before the hidden variables from the previus page?
    My main question is how to call the variables in the next page. For example if someone checks one radio button how can i take that variable to the next page? I know how to pass variables to another page (using $POST) but the problem here is that the name of the radio buttons and the other form elements is already a variable?
     
    Chrisa_dr, Feb 2, 2009 IP