2012-04-11 62 views
2

我有一个PHP脚本和MSSQL表,我被存储在$right_answer在变量接听键和用户选择的在$user_answer_select答案的格式是这样的PHP测验脚本答案亮点

5+10? 

A) 10 
B) 15 
C) 20 
D) 25 
E) 50 

Answer key: B 

我想要什么要做的是在B旁边放置一个复选标记,如果它是正确的,并且X如果是错误的,我将如何在这里做if else语句?

这是代码我现在有

if(($user_answer_select == $right_answer) && $user_answer_select == 'a') $a_sel = "<img src=\"tick_icon.gif\">"; 
else if(($user_answer_select == $right_answer) && $user_answer_select == 'b') $b_sel = "<img src=\"tick_icon.gif\">"; 
else if(($user_answer_select == $right_answer) && $user_answer_select == 'c') $c_sel = "<img src=\"tick_icon.gif\">"; 
else if(($user_answer_select == $right_answer) && $user_answer_select == 'd') $d_sel = "<img src=\"tick_icon.gif\">"; 
else if(($user_answer_select == $right_answer) && $user_answer_select == 'e') $e_sel = "<img src=\"tick_icon.gif\">"; 

这是错误的,因为一些没有答案是突出显示为真实的问题。有什么办法做到这一点?

+3

我说得对不对,你没有一个具体的问题,只是想用它来编写解决您的问题的代码? – vissi 2012-04-11 22:29:39

+0

我将展示我在这里有什么 – Grigor 2012-04-11 22:30:37

+1

曾听说过数组? – 2012-04-11 22:32:15

回答

1
$answers = array ("A"=>10, "B"=>15, "C"=>20, "D"=>25, "E"=>50); 
$right_answer = "B"; 
$user_selected_answer = "A"; 

echo "5+10?<br/>"; 

foreach ($answers as $key => $value) { 
    echo $key.") ".$value; 
    if ($value === $user_selected_answer) { 
    if ($value === $right_answer){ echo "check!"; } 
    else { echo "X"; } 
    } 
    echo "<br/>"; 
} 

echo "Answer key: $right_answer"; 
+0

谢谢,我会检查出来,让你知道它是否工作 – Grigor 2012-04-12 08:23:47

1
if ($user_answer_select == $right_answer) { 
    $correct = true; 
} else { 
    $correct = false; 
} 

然后在表格上的正确答案:

<?php echo $correct == true ? 'x' : ''; ?>