public function processar_ranking_bloco($pk_exa_concurso, $pk_exa_bloco) { $data = $this->getParametroVisao(); $data['page'] = 'home'; $data['abaPage'] = __FUNCTION__; $data['abaAtiva'] = $this->AbaAtiva; if ($this->uri->segment(5) != '') { try { // processa ranking geral $sqlConcurso = new SqlConcurso(); $materias = $sqlConcurso->get_materias_bloco($pk_exa_bloco); array_push($materias, array('fk_exa_materia' => 1)); foreach ($materias as $row) { $result = $sqlConcurso->get_ranking_bloco($pk_exa_bloco, $row['fk_exa_materia']); $_SESSION['nota'] = 0; $ranking = 0; foreach ($result as $item) { if ($_SESSION['nota'] != $item['media_bloco']) { $ranking++; } $sqlConcurso->update_ranking_bloco($pk_exa_bloco, $row['fk_exa_materia'], $item['fk_usuario_aluno'], $ranking); $_SESSION['nota'] = $item['media_bloco']; } } // Processa ranking por unidade $unidades = $sqlConcurso->get_unidades_bloco($pk_exa_bloco); foreach ($unidades as $uni) { echo $uni['fk_unidade'] . ')<br />'; foreach ($materias as $row) { echo '...........' . $row['fk_exa_materia'] . '<br />'; $result = $sqlConcurso->get_ranking_bloco_unidade($pk_exa_bloco, $row['fk_exa_materia'], $uni['fk_unidade']); $_SESSION['nota'] = 0; $ranking = 0; foreach ($result as $item) { if ($_SESSION['nota'] != $item['media_bloco']) { $ranking++; } $sqlConcurso->update_ranking_bloco_unidade($pk_exa_bloco, $row['fk_exa_materia'], $item['fk_usuario_aluno'], $ranking); $_SESSION['nota'] = $item['media_bloco']; } } } // Processa ranking por turma $turmas = $sqlConcurso->get_turmas_bloco($pk_exa_bloco); foreach ($turmas as $uni) { echo $uni['fk_turma'] . ')<br />'; foreach ($materias as $row) { echo '...........' . $row['fk_exa_materia'] . '<br />'; $result = $sqlConcurso->get_ranking_bloco_turma($pk_exa_bloco, $row['fk_exa_materia'], $uni['fk_turma']); $_SESSION['nota'] = 0; $ranking = 0; foreach ($result as $item) { if ($_SESSION['nota'] != $item['media_bloco']) { $ranking++; } $sqlConcurso->update_ranking_bloco_turma($pk_exa_bloco, $row['fk_exa_materia'], $item['fk_usuario_aluno'], $ranking); $_SESSION['nota'] = $item['media_bloco']; } } } $this->session->set_flashdata('msg', '<div class="alert ok">Ranking de área processado com sucesso</div>'); redirect(base_url() . $this->uri->segment(1) . '/' . $this->uri->segment(2) . '/processar_estatisticas_gerais_bloco/' . $pk_exa_concurso . '/' . $pk_exa_bloco); return false; } catch (Exception $e) { $msg = '<p class="alert erro">' . $e->getMessage() . '</p>'; } } }