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 に答える