Jump to content

Radio Button Calculation


JaneH

Recommended Posts

Hi guys, I'm a newbie when it comes to PHP and I'm wrecking my head trying to figure this out.

 

Ok, so I've created an MCQ with 5 questions using PHP and mySQL.

 

My issue is that the quiz displays the score for each individual answer. I want to display the total score only.

 

For example, if the user gets all five questions right the output is: 100100100100100. Similarly, if the user gets 4 questions right it displays something lile 1001000100100.

 

Radio buttons for MCQ:

        echo '<br><b>',$myrow["Question"],'</b><br>
	<br><input type="radio" name="ans'.$myrow["Q_ID"].'" value="A1">'.$myrow["A1"].'<br>
	<input type="radio" name="ans'.$myrow["Q_ID"].'" value="A2">'.$myrow["A2"].'<br>
	<input type="radio" name="ans'.$myrow["Q_ID"].'" value="A3">'.$myrow["A3"].'<br>
	<input type="radio" name="ans'.$myrow["Q_ID"].'" value="A4">'.$myrow["A4"].'<br>
	<br>';

Scores for MCQ:

	if (isset($_POST['submit'])) {
	$CorrectAns = 0;
	$WrongAns = 0;
	
	if ($_POST['ans'.$myrow["Q_ID"]] == $myrow["Correct"]) {
	$CorrectAns ++;	
	}
	else {
	$WrongAns ++;
	}
	$NumofQs = $CorrectAns + $WrongAns;
	$Total = ($CorrectAns / $NumofQs) * 100;
	echo $Total;
	}
	}
	}

Can anybody help? Thanks!

Link to comment
https://forums.phpfreaks.com/topic/286684-radio-button-calculation/
Share on other sites

  • 1 month later...

Hi Jane H,

 

It looks like you need a while loop within your code, otherwise it will just be adding 1 point to the defined variable(s). Check the snippet that I have included below for you.

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

	$CorrectAns = 0;
	$WrongAns = 0;
        $count = 0;
	
        while ($count <= 5) {
	if ($_POST['ans'.$myrow["Q_ID"]] == $myrow["Correct"]) {
	$CorrectAns ++;	
	}
	else {
	$WrongAns ++;
	}
	}
	}
             $count++;
        }
             $NumofQs = $CorrectAns + $WrongAns;
             $Total = ($CorrectAns / $NumofQs) * 100;
             echo $Total;
	}
  • 1 month later...

You can also set your radio buttons to be an array,

echo '<br><b>',$myrow["Question"],'</b><br>
    <br><input type="radio" name="ans['.$myrow["Q_ID"].']" value="A1">'.$myrow["A1"].'<br>
    <input type="radio" name="ans['.$myrow["Q_ID"].']" value="A2">'.$myrow["A2"].'<br>
    <input type="radio" name="ans['.$myrow["Q_ID"].']" value="A3">'.$myrow["A3"].'<br>
    <input type="radio" name="ans['.$myrow["Q_ID"].']" value="A4">'.$myrow["A4"].'<br>
    <br>';

and then in your php

foreach ($_POST['ans'] AS $key=>$value)
{
//$key will = $myrow["Q_ID"];
//$value will = $myrow["Ax"]
}

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.