/    Sign up×
Community /Pin to ProfileBookmark

Mixing different types of question

Please can some one help me to mix my quiz questions in this format: fill in the blank, true or false, multiple answers, matching and the rest. please all my questions are stored on the database. any time that I display my question they come in a radio button format.
here is my code:

<?php
if (!isset($_SESSION)){
session_start();
}
include(“database.php”);
//include(“counttime.php”);
extract($_
POST);
extract($_GET);
extract($_
SESSION);
if(isset($subid) && isset($testid))
{
$_SESSION[sid]=$subid;
$_
SESSION[tid]=$testid;
header(“location:quiz.php”);
}
if(!isset($_SESSION[sid]) || !isset($_SESSION[tid]))
{
header(“location:index.php”);
}
?>
<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN” “http://www.w3.org/TR/html4/loose.dtd“>
<html>
<head>
<title>Electronic Exams</title>
<meta http-equiv=”Content-Type” content=”text/html; charset=iso-8859-1″>
<link href=”quiz.css” rel=”stylesheet” type=”text/css”>
</head>

<body>
<?php
include(“header.php”);
include(“counttime.php”);

//$sql = “SELECT * FROM se_question ORDER BY rand()”;// LIMIT ()”;
$query=”select *
from se_question”;
$rs=mysql_query(“select * from se_question where test_id=$tid”,$cn) or die(mysql_error());

//this below line displays the student picture as soon as the id is entered

if(!isset($_SESSION[qn]))

{
$_SESSION[qn]=1; //fc
mysql_query(“delete from se_useranswer where sess_id='” . session_id() .”‘”) or die(mysql_error());
$_
SESSION[trueans]=1;//fc

}
else
{
if($submit==’Next Question’ && isset($ans)) //this codes display the next question when click
{
mysql_data_seek($rs,$_SESSION[qn]);
$row= mysql_fetch_row($rs);
mysql_query(“insert into se_useranswer(sess_id,test_id,que_des,ans1,ans2,ans3,ans4,true_ans,your_ans) values (‘”.session_id().”‘,$tid,’$row[2]’,’$row[3]’,’$row[4]’,’$row[5]’,’$row[6]’,’$row[7]’,’$ans’)”) or die(mysql_error());
if($ans==$row[7])
{
$_
SESSION[trueans]=$_SESSION[trueans]+1;
}
$_
SESSION[qn]=$_SESSION[qn]+1;
}
else if($submit==’Get Result’ && isset($ans))
{
mysql_data_seek($rs,$_
SESSION[qn]);
$row= mysql_fetch_row($rs);
mysql_query(“insert into se_useranswer(sess_id,test_id,que_des,ans1,ans2,ans3,ans4,true_ans,your_ans) values (‘”.session_id().”‘,$tid,’$row[2]’,’$row[3]’,’$row[4]’,’$row[5]’,’$row[6]’,’$row[7]’,’$ans’)”) or die(mysql_error());
if($ans==$row[7])
{
$_SESSION[trueans]=$_SESSION[trueans]+1;
}
else{$_SESSION[trueans] =$_SESSION[trueans]+0;
}
echo “<h1 class=head1> Result</h1>”;
$_SESSION[qn]=$_SESSION[qn]+1;
echo “<Table align=center><tr class=tot><td>Total Question<td> $_SESSION[qn]”;
echo “<tr class=tans><td>True Answer<td>”.$_
SESSION[trueans];
$w=$_SESSION[qn]-$_SESSION[trueans];

echo “<tr class=fans><td>Wrong Answer<td> “. $w;
echo “</table>”;
mysql_query(“insert into se_result(login, studentid, test_id,test_date,score) values(‘$login’, ‘$studentid’, $tid,'”.date(“Y/m/d”).”‘,$_SESSION[trueans])”) or die(mysql_error());
echo “<h1 align=center><a href=review.php> Review Question</a> </h1>”;
unset($_SESSION[qn]);
unset($_SESSION[sid]);
unset($_SESSION[tid]);
unset($_SESSION[trueans]);
exit;
}

}

$rs=mysql_query(“select * from se_question where test_id=$tid”,$cn) or die(mysql_error());
if (!function_exists(“GetSQLValueString”))

//$sql = “SELECT * FROM se_question ORDER BY rand()”;
$rs=mysql_query(“SELECT DISTINCT *
FROM se_question WHERE que_desc IN (SELECT DISTINCT que_desc FROM se_question where test_id=$tid ) ORDER BY rand()”,$cn) or die(mysql_error()); //fc
if($_SESSION[qn]>mysql_num_rows($rs)-1)
{
unset($_
SESSION[qn]);
echo “<h1 class=head1>Please Error Occured</h1>”;
session_destroy();
echo “Please <a href=index.php> Start Again</a>”;

exit;
}
mysql_data_seek($rs,$_SESSION[qn]);//fc
$row= mysql_fetch_row($rs);
//$quiz_shuffle = $_
SESSION[‘se_question’];
echo “<form name=myfm method=post action=quiz.php>”;
echo “<table width=100%> <tr> <td width=30>&nbsp;<td> <table border=0>”;
$n=$_SESSION[qn]+1;
echo “<tr><td><span class=style2>Q “. $n .”: $row[2]</style>”; //showing the question number plus the question
echo “<tr><td class=style8><input type=radio name=ans value=1>$row[3]”;
echo “<tr><td class=style8><input type=radio name=ans value=2>$row[4]”;
echo “<tr><td class=style8><input type=radio name=ans value=3>$row[5]”;
echo “<tr><td class=style8><input type=radio name=ans value=4>$row[6]”;
function questionTypeNameParseObject($input) {
// your code here.
$this->setState(“”); // Set the state if needed.
return $output;
}

/*if($row[2]=1)
{
echo “<tr><td class=style8><input type=checkbox name=ans1 value=1 checked=checked>$row[3]”;
echo “<tr><td class=style8><input type=textarea name=ans2>”;
echo “<tr><td class=style8><input type=hidden name=ans3 value=3>”;
echo “<tr><td class=style8><input type=hidden name=ans4 value=4>”;
}*
/
if ($_SESSION[qn]+1)

if($_SESSION[qn]<mysql_num_rows($rs)-1)

echo “<tr><td><input type=submit name=submit value=’Next Question’></form>”;
else
echo “<tr><td><input type=submit name=submit value=’Get Result’></form>”;
echo “<tr><td><input type=reset name=Reset value=Reset></form>”;
echo “</table></table>”;
?>
<a href=”quiz_annex.php”>section b</a>
</body>
</html>

to post a comment
PHP

2 Comments(s)

Copy linkTweet thisAlerts:
@Error404Mar 26.2014 — The only time when your code has the option of changing how questions are presented is commented out and the if-statement is incorrectly written. It should be if($row[2] == 1) {...} assuming that each element in the $row array (retrieved from the MySQL database) will actually equal a number.

To randomly present the questions in different formats, you could write a function that calculates a random number between a certain range. Using if-else statements or a switch, you can populate it with the question retrieved from your database.

There are a few other concerns and problems with your code. First, what is the purpose of the function, questionTypeNameParseObject, which takes in a parameter that it doesn't use and outputs a variable that has no value. Second, mysql_ functions are going to be out of date, so you should use either mysqli or PDO functions to interact with your MySQL database.
Copy linkTweet thisAlerts:
@bayorauthorApr 29.2014 — if can you post to me the switch or if statement that does that
×

Success!

Help @bayor spread the word by sharing this article on Twitter...

Tweet This
Sign in
Forgot password?
Sign in with TwitchSign in with GithubCreate Account
about: ({
version: 0.1.9 BETA 5.19,
whats_new: community page,
up_next: more Davinci•003 tasks,
coming_soon: events calendar,
social: @webDeveloperHQ
});

legal: ({
terms: of use,
privacy: policy
});
changelog: (
version: 0.1.9,
notes: added community page

version: 0.1.8,
notes: added Davinci•003

version: 0.1.7,
notes: upvote answers to bounties

version: 0.1.6,
notes: article editor refresh
)...
recent_tips: (
tipper: @AriseFacilitySolutions09,
tipped: article
amount: 1000 SATS,

tipper: @Yussuf4331,
tipped: article
amount: 1000 SATS,

tipper: @darkwebsites540,
tipped: article
amount: 10 SATS,
)...