public function processaABCDE($pk_sim_gabarito, $numero_questao, $fk_sim_materia, $tipo_questao, $gabaritos, $anulada, $peso_questao, $file, $totalLinhas, $colIni) { echo '--' . $colIni . '<br />'; //require ('php/conexao_postgres.php'); $sql_insert = 'INSERT INTO sim.sim_resposta (fk_usuario_aluno, fk_sim_gabarito, resposta, pontuacao, status) VALUES '; $total = count($file); $i = 0; // percorre o arquivo texto foreach ($file as $linha) { $i++; // seta a pk do aluno o sua marcação $pk_usuario_aluno = substr($linha, 0, 16); $marcacao = substr($linha, $colIni, 1); // se a questão não for anulada, atribui a questão o peso da pontuação da referida questão em caso de acerto if ($anulada != 1) { foreach ($gabaritos as $gabarito) { if ($gabarito == $marcacao) { $valorQuestao = $gabarito == $marcacao ? $peso_questao : 0; break; } else { $valorQuestao = 0; continue; } } $valorQuestao = $gabarito == $marcacao ? $peso_questao : 0; } else { $valorQuestao = 0; } // se a questão não foi anulada, atribui o percentual de acerto da questão a variável status $status = $anulada != 1 ? $valorQuestao / $peso_questao : 0; echo '........' . $pk_usuario_aluno . ' - ' . $marcacao . ' - <strong>' . $valorQuestao . '</strong> - ' . $status . '<br />'; $sql_insert .= "(" . (int) $pk_usuario_aluno . ", " . $pk_sim_gabarito . ", '" . $marcacao . "', " . $valorQuestao . ", " . $status . ")"; if ($i < $total) { $sql_insert .= ', '; } // inclui os dados do usuário na tabela de respostas $sqlAdministracao = new SqlAdministracao(); $sqlAdministracao->reset_respostas_aluno((int) $pk_usuario_aluno, $pk_sim_gabarito); } $sqlAdministracao = new SqlAdministracao(); $sqlAdministracao->insert_respostas_aluno($sql_insert); }