publicfunction checkAns(Request $request, $domain){
$user = getUser();
$id = $request['quizId'];
$answers = $request['answers'];
$quiz =LessonQuiz::query()->where('user_id', $user->id)->find($id);
$qas = json_decode($quiz->answers);// find out how many right answer has been selected by admin
$rightAnsCount =0;foreach($qas as $qa){if($qa->rightAnswer ==1){
$rightAnsCount++;}}// find out how many correct answer has been given by user
$correctAnsCount =0;foreach($answers as $ans){foreach($qas as $qa){if($ans == $qa->option && $qa->rightAnswer ==1){
$correctAnsCount++;}}}if(($rightAnsCount == $correctAnsCount)&&(count($answers)== $rightAnsCount)){return response()->json(['status'=>'Correct']);}else{return response()->json(['status'=>'Incorrect']);}}
بعد ان يقوم الطالب باختيار الاجابة الخاصة بالسؤال اذا كانت صحيحة يطبع له Correct
اذا كانت خطا يطبع له Incorrect
نحتاج الى الاتي فى حالة كانت الاجابة خطا Incorrect يطبع له الاجابة الصحيحة استعملت هذا الكود
السؤال
Saaed Alamer
مساء الخير
لدي هذا function يقوم بعمل الاتي
بعد ان يقوم الطالب باختيار الاجابة الخاصة بالسؤال اذا كانت صحيحة يطبع له Correct
اذا كانت خطا يطبع له Incorrect
نحتاج الى الاتي فى حالة كانت الاجابة خطا Incorrect يطبع له الاجابة الصحيحة استعملت هذا الكود
ولكن لا تعمل يتم طباعة Incorrect هل من طريقة اخري
استخدمت هذه الطريقة ونجحت شكرا لكم
if (($rightAnsCount == $correctAnsCount) && (count($answers) == $rightAnsCount)) { return response()->json(['status' => __('Correct Answer!')]); } else { $correctAnswers = []; foreach ($qas as $qa) { if ($qa->rightAnswer == 1) { $correctAnswers[] = $qa->option; } } return response()->json(['status' => __('Incorrect. Correct Answer(s): ') . implode(', ', $correctAnswers)]); }
هذه الطريقة الصحيحة
0 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.