2

我有一个 PHP 脚本和 MSSQL 表,我在一个变量中存储了答案键,$right_answer用户选择的答案$user_answer_select格式是这样的

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\">";

这是错误的,因为一些没有答案的问题被突出显示为真。这样做的方法是什么?

4

2 回答 2

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

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

<?php echo $correct == true ? 'x' : ''; ?>
于 2012-04-11T22:33:33.193 回答
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";
于 2012-04-11T22:33:57.433 回答