यहां आपकी मदद करने का एक और प्रयास है।
मैंने वास्तव में एक "पूर्ण समाधान" लिखा था, और इस प्रक्रिया में आपके कोड में कुछ छोटी बग की खोज की - साथ ही कुछ चीजें जिन्हें मैं समझ नहीं पाया।
प्रिंसिपल बग:आपके सभी रेडियो बटनों का मान समान है ($x), इसलिए कोई फर्क नहीं पड़ता कि आप प्रश्न 1 के लिए कौन सा बटन दबाते हैं, उत्तर "1" है, आदि। आपने कुछ और भी किया जो मैं समझ नहीं पाया - इसलिए मैंने इसके बजाय एक सरल प्रवाह बनाया - एक पृष्ठ जो प्रश्न पूछता है, और दूसरा जो परिणामों का मूल्यांकन करता है।
प्रश्न पृष्ठ (मैंने अपने डेटाबेस के लिए एक्सेस पैरामीटर को अस्पष्ट कर दिया है - नहीं, मैं अपने पासवर्ड के रूप में "पासवर्ड" का उपयोग नहीं करता!):
<html>
<body>
<form action="./evaluate.php" method="post">
<?php
$server = mysql_connect ('localhost', 'username, 'password');
mysql_select_db("questionnaire", $server);
$question = mysql_query("SELECT * FROM `Questions`;");
$x = 0;
while ($row = mysql_fetch_assoc($question))
{
echo $row['question'] . '<br />';
echo '<input type="radio" name="a'.$x.'" value=1 />' .$row['answer1'] . '<br />';
echo '<input type="radio" name="a'.$x.'" value=2 />' .$row['answer2'] . '<br />';
echo '<input type="radio" name="a'.$x.'" value=3 />' .$row['answer3'] . '<br />';
echo '<input type="radio" name="a'.$x.'" value=4 />' .$row['answer4'] . '<br />';
$x = $x + 1;
}
mysql_close($server);
?>
<input type="submit" name="Submit" value="Submit" />
<br>
</form>
</body>
</html>
और मूल्यांकन करें। php:संपादित करें:मैंने आउटपुट को "क्लीनर" बनाने के लिए कोड को थोड़ा बदल दिया है, और उन प्रश्नों को दिखाने के लिए लाल/हरा स्पर्श जोड़ें जिनका उत्तर सही और गलत तरीके से दिया गया था। जाहिर है आप चाहें तो इन चीजों को और भी आगे ले जा सकते हैं...
<html>
<body>
<?php
$server = mysql_connect ('localhost', 'username', 'password');
mysql_select_db("questionnaire", $server);
$question = mysql_query("SELECT * FROM `Questions`;");
$x = 0;
$score = 0;
while ($row = mysql_fetch_assoc($question))
{
echo $row['question'] . '?<br />';
$answered = $row['answer'.$_POST['a'.$x]] ;
$correct = $row['correct'] ;
if ($answered == $correct ) {
$score++;
$acolor = 'green' ;
}
else {
$acolor = 'red' ;
}
echo 'you answered <font color=' . $acolor . '>' . $answered . '<font color=black> <br />';
echo 'the correct answer was ' . $correct . '<br />' ;
echo '-------------------------------------- <br />' ;
$x = $x + 1;
}
echo 'You had a total of ' . $score . ' out of ' . $x . ' questions right!';
mysql_close($server);
?>
</body>
</html>
इसने अपेक्षित परिणाम उत्पन्न किए (एक साधारण तीन-प्रश्न बहुविकल्पी के लिए)। मुझे बताएं कि क्या यह आपके लिए काम करता है!