public function answerStart() { $app = \Slim\Slim::getInstance(); $params = $app->request->params(); $quizzes = new M_Quiz(); $questionList = $quizzes->find($params['quiz_id'])->questions; $answer = new M_Answer(); $nickname = 'land'; $answerId = $answer->answerStart($params['quiz_id'], $nickname); $app->render('Answer/answer_start.twig', ['question_list' => $questionList, 'answer_id' => $answerId]); }
public function show() { $app = \Slim\Slim::getInstance(); $quizzes = new M_Quiz(); $quizList = $quizzes->getQuizzes(); // var_dump($quizList); // exit; $count = 0; foreach ($quizList as $quiz) { array_splice($quizList[$count], 0, 0, Common::getTargetColumn(M_Quiz::find($quiz['id'])->questions, 'original')); $count++; } $app->render('Quiz/show.twig', ['quiz_list' => $quizList]); }
public function showResult($answerId) { //該当するanswerIdの解答結果を取得 $answer = new Answer(); $answerResult = $answer->find($answerId); //各問題の正解を取得 $quiz = new M_Quiz(); $quiz = $quiz->find($answerResult['quiz_id']); $questions = M_Quiz::find($quiz['id'])->questions; //解答結果と正解を比較 $correctNumber = 0; if ($answerResult['answer1'] === $questions[0]['correct_answer']) { $correctNumber++; } if ($answerResult['answer2'] === $questions[1]['correct_answer']) { $correctNumber++; } if ($answerResult['answer3'] === $questions[2]['correct_answer']) { $correctNumber++; } if ($answerResult['answer4'] === $questions[3]['correct_answer']) { $correctNumber++; } if ($answerResult['answer5'] === $questions[4]['correct_answer']) { $correctNumber++; } if ($answerResult['answer6'] === $questions[5]['correct_answer']) { $correctNumber++; } if ($answerResult['answer7'] === $questions[6]['correct_answer']) { $correctNumber++; } if ($answerResult['answer8'] === $questions[7]['correct_answer']) { $correctNumber++; } if ($answerResult['answer9'] === $questions[8]['correct_answer']) { $correctNumber++; } if ($answerResult['answer10'] === $questions[9]['correct_answer']) { $correctNumber++; } //解答時間を計算 $responseTime = strtotime($answerResult['end_time']) - strtotime($answerResult['start_time']); //正解数と解答時間を返却 return array('nickname' => $answerResult['nickname'], 'correctNumber' => $correctNumber, 'responseTime' => $responseTime); }
public function testGetQuiz() { //1番目のクイズデータと関連するクイズを取得 $quiz = new M_Quiz(); $questionList = M_Quiz::find(1); // var_dump($questionList); // exit; //実データ確認 $actualQuiz = M_Quiz::find(1); $actualQuestion = M_Question::find(1); //件数 $actual = M_Quiz::find(1)->questions; $this->assertEquals(10, count($actual)); //クイズ情報 $this->assertEquals('クイズタイトルテスト0', $actualQuiz['title']); //問題情報 $this->assertEquals('タイトル0', $actualQuestion['title']); $this->assertEquals('問題文00', $actualQuestion['content']); }
public function getQuiz($quizId) { $quiz = Quiz::find($quizId); $questionList = Common\Common::getTargetColumn($quiz, 'original'); return $questionList; }