예제 #1
0
파일: Answer.php 프로젝트: h-inuzuka/quiz
 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]);
 }
예제 #2
0
파일: Quiz.php 프로젝트: h-inuzuka/quiz
 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]);
 }
예제 #3
0
파일: Answer.php 프로젝트: h-inuzuka/quiz
 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);
 }
예제 #4
0
 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']);
 }
예제 #5
0
파일: Quiz.php 프로젝트: h-inuzuka/quiz
 public function getQuiz($quizId)
 {
     $quiz = Quiz::find($quizId);
     $questionList = Common\Common::getTargetColumn($quiz, 'original');
     return $questionList;
 }