0
我正在構建一個考試報告模塊,它由三部分組成,即第1部分爲1分和10個問題,第2部分爲2分和5個問題,第3部分爲4分和5的問題。問題總數爲20,總分數爲40.現在,當用戶結束考試時,我試圖在顯示部分明智報告的報告中顯示他的結果。這裏出現的問題是,如果用戶只嘗試一個部分,並且假設他已經獲得了3個正確答案,所以報告必須在部分1中顯示3,在其他兩部分中顯示0,但是每次報告都在3中提取所有部分,或者我們可以說所有部分都有一個部分的值。我需要顯示的是「正確答案」的數目3-0-0,因爲用戶只嘗試過一個部分。儘管目前所有部分都需要3個。重複報告中不同部分的值
這裏是我的前端代碼,
<tr><td>3</td>
<td>Correct Answers</td>
<td><?php echo $rep->sectionwiseMockReport($id, $chapterId,1); ?></td>
<td><?php echo $rep->sectionwiseMockReport($id, $chapterId,2); ?></td>
<td><?php echo $rep->sectionwiseMockReport($id, $chapterId,3); ?></td>
<td><?php echo ($rep->sectionwiseMockReport($id, $chapterId,1)+$rep->sectionwiseMockReport($id, $chapterId,2)+$rep->sectionwiseMockReport($id, $chapterId,3)) ; ?></td>
</tr>
和被稱爲是成一個類的功能,
function sectionwiseMockReport($userId, $chapterId,$section)
{
$counter1 = 0 ;
$counter2 = 0 ;
$counter3 = 0 ;
$total = 0 ;
$result = mysql_query("SELECT question_id, option_id from tbl_result_chapter WHERE user_id = $userId AND chapter_id = $chapterId");
while($row = mysql_fetch_array($result))
{
if($this->getRightOptionChapter($row['question_id']) == $row['option_id'])
{
$section = $this->idToField("tbl_question_chapter","section",$row['question_id']);
if($section == 1)
{
$counter1 = $counter1 + 1 ;
}
if($section == 2)
{
$counter2 = $counter2 + 1 ;
}
if($section == 3)
{
$counter3 = $counter3 + 1 ;
}
}
}
if($section == 1)
{
return $counter1;
}
if($section == 2)
{
return $counter2;
}
if($section == 3)
{
return $counter3;
}
}
最後是功能,
function getRightOptionChapter($questionId)
{
$result = mysql_query("SELECT * from tbl_chapter_answer a INNER JOIN tbl_chapter_options o on a.options_id = o.id WHERE a.question_id = $questionId");
$row = mysql_fetch_array($result);
return $row['options_id'];
}
任何建議或幫助將成爲救星。幾天來一直在尋找這個,但沒有成功。