public function processar_percentuais_prova($pk_exa_area, $pk_exa_prova) { $data = $this->getParametroVisao(); $data['page'] = 'home'; $data['abaPage'] = __FUNCTION__; $data['abaAtiva'] = $this->AbaAtiva; if ($this->uri->segment(5) != '') { try { $sqlConcurso = new SqlConcurso(); // reseta dados da tabela exa_resposta_percentuais $sqlConcurso->reset_percentuais_respostas_materia($pk_exa_prova); // cria a tabela temporária com as respostas dos alunos $result = $sqlConcurso->insert_temp_respostas($pk_exa_prova); // pega os alunos que participaram da prova $alunos = $sqlConcurso->listar_alunos_prova($pk_exa_prova); // pega as matérias da prova $result = $sqlConcurso->listar_materias($pk_exa_prova); foreach ($result['registros'] as $item) { echo $item['fk_exa_materia'] . ')<BR/>'; $result = $sqlConcurso->get_gabarito_materia($pk_exa_prova, $item['fk_exa_materia']); foreach ($result as $row) { echo '----- ' . $row['pk_exa_gabarito'] . '<br />'; $marcacoes = $sqlConcurso->get_respostas_gabarito($pk_exa_prova, $row['pk_exa_gabarito']); $total_marcacao = count($marcacoes); $alternativa_A = 0; $alternativa_B = 0; $alternativa_C = 0; $alternativa_D = 0; $alternativa_E = 0; foreach ($marcacoes as $marcacao) { if ($marcacao['resposta'] == 'A') { $alternativa_A++; } else { if ($marcacao['resposta'] == 'B') { $alternativa_B++; } else { if ($marcacao['resposta'] == 'C') { $alternativa_C++; } else { if ($marcacao['resposta'] == 'D') { $alternativa_D++; } else { if ($marcacao['resposta'] == 'E') { $alternativa_E++; } } } } } } $percentual_A = $alternativa_A / $total_marcacao * 100; $percentual_B = $alternativa_B / $total_marcacao * 100; $percentual_C = $alternativa_C / $total_marcacao * 100; $percentual_D = $alternativa_D / $total_marcacao * 100; $percentual_E = $alternativa_E / $total_marcacao * 100; echo '................... A: ' . $alternativa_A . ' - ' . $percentual_A . '<br />'; echo '................... B: ' . $alternativa_B . ' - ' . $percentual_B . '<br />'; echo '................... C: ' . $alternativa_C . ' - ' . $percentual_C . '<br />'; echo '................... D: ' . $alternativa_D . ' - ' . $percentual_D . '<br />'; echo '................... E: ' . $alternativa_E . ' - ' . $percentual_E . '<br />'; echo '................... total: ' . $total_marcacao . '<br /><br /><br />'; $sqlConcurso->insert_percentuais_respostas($row['pk_exa_gabarito'], 'A', $alternativa_A, $percentual_A, $pk_exa_prova); $sqlConcurso->insert_percentuais_respostas($row['pk_exa_gabarito'], 'B', $alternativa_B, $percentual_B, $pk_exa_prova); $sqlConcurso->insert_percentuais_respostas($row['pk_exa_gabarito'], 'C', $alternativa_C, $percentual_C, $pk_exa_prova); $sqlConcurso->insert_percentuais_respostas($row['pk_exa_gabarito'], 'D', $alternativa_D, $percentual_D, $pk_exa_prova); $sqlConcurso->insert_percentuais_respostas($row['pk_exa_gabarito'], 'E', $alternativa_E, $percentual_E, $pk_exa_prova); } } $this->session->set_flashdata('msg', '<div class="alert erro">Os gabaritos ainda não foram preechidos!</div>'); redirect(base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/processar_medias/' . $this->uri->segment(4) . '/' . $this->uri->segment(5)); return false; } catch (Exception $e) { $msg = '<p class="alert erro">' . $e->getMessage() . '</p>'; } } }