0

私はオンラインクイズを作成しています。このクイズでは、一度に 1 つの質問が出題されます。答えが正しければ、そのポイントを獲得した合計スコアに追加したいと思います。$_SESSION で、ユーザーがこれまでに獲得したポイント数を表示したいと考えています。私がこれまでに持っているコードは次のとおりです。

$sql = "SELECT * FROM quiz_questions WHERE Question='$question' AND Answer='$answer'";
$result = mysql_query($sql);
$num_rows = mysql_num_rows($result);
if ($num_rows != 0){

    $score++;
    $total_score += $score;
    session_start();
    $_SESSION['score'] = $total_score;

} else {
    echo "Incorrect";
}
  }

コードの先頭で開始するために、すでに $score が 0 になっています。よろしくお願いいたします。

4

1 に答える 1

0
session_start(); // should be at the beginning of your script(s);
if (!isset($_SESSION['score'])) { $_SESSION['score'] = 0; }


$sql = "SELECT * FROM quiz_questions WHERE Question='$question' AND Answer='$answer'";
$result = mysql_query($sql);
$num_rows = mysql_num_rows($result);


if ($num_rows != 0){

    // $row = fetch row to get the actual score for this question, if answered right?
    $row = mysql_fetch_row($result);

    //$score++; ??????
    //$total_score += $score;
    $_SESSION['score'] += $row['score_index'];
    //$_SESSION['score']++; // or just this, dunno
    echo 'Your current score is: '.$_SESSION['score'];
}
else {
    echo "Incorrect";
}
于 2013-09-20T00:36:37.733 に答える