Ejemplo n.º 1
0
 $id_test = $_POST['idtest'];
 $id_estud = $_POST['idstudent'];
 $id_paso = $_POST['idpaso'];
 $test_aprobado = $_POST['aprobado'];
 $intento = $_POST['intento'];
 //validando si el intento es 1
 if (strcmp($intento, "1") == 0) {
     //se actualiza el intento del TEST:
     $conect->updateIntentoTest($id_test, $intento);
     //Si el test fue aprobado 1 entonces se cierra el test y se da por aprobado:
     if (strcmp($test_aprobado, "1") == 0) {
         $conect->updateFinishTest($id_test, $test_aprobado, $intento);
     }
     $id_pregunta = "";
     //registrando las preguntas del test como intento 1 enviado:
     $resultset_preguntas = $conect->consultarPreguntasTestByID($id_test);
     while ($pregunta = mysql_fetch_array($resultset_preguntas, MYSQL_ASSOC)) {
         //obteniendo el ID de la pregunta para actualizarla:
         $id_pregunta = $pregunta['id_pregunta'];
         //con el id de pregunta se consulta la tabla de respuestas y se busca la ultima respuesta insertada para el test y el estudiante correspondiente:
         $resultset_preg_data = $conect->getLastResponseToQuest($id_test, $id_estud, $id_paso, $id_pregunta, "0");
         $preg_id_data = mysql_fetch_array($resultset_preg_data, MYSQL_ASSOC);
         $preg_id_upd = $preg_id_data['id_respuesta_preg'];
         $conect->updateIntentoAnswerByID($preg_id_upd, "1");
         //si el test esta aprobado entonces se actualiza tambien la respuesta definitiva:
         if (strcmp($test_aprobado, "1") == 0) {
             //actualizando la respuesta como definitiva:
             $conect->updateRespuestaDefByID($preg_id_upd);
         }
         //cierra if
     }
if (mysql_numrows($test_activo_results) > 0) {
    //agregando al array como primer elemento el indicador de que el test NO es nuevo:
    $indicador_viejo = array("0");
    // 0 indica que el test no es nuevo
    array_push($pregs_test_activo, "0");
    //si hay un test activo y por lo tanto se debe cargar:
    $test_activo = mysql_fetch_array($test_activo_results, MYSQL_ASSOC);
    $id_test_activo = $test_activo['id_test'];
    //se esta obteniendo el intento actual del test para recuperar las respuestas que correspondan a ese intento
    $intento_actual = $test_activo['intento_actual'];
    //echo "<br>id_test_activo:".$id_test_activo;
    //variable para almacenar el intento de cada pregunta dentro del ciclo e irlo asignando al array
    $intento_pregunt = "";
    $intento_resp_preg = 0;
    //ahora que se tiene el id del test activo hay que consultar las preguntas de dicho test:
    $ids_pregs_test = $conn->consultarPreguntasTestByID($id_test_activo);
    while ($row_ids = mysql_fetch_array($ids_pregs_test, MYSQL_ASSOC)) {
        $id_pregun = $row_ids['id_pregunta'];
        //echo "</br>Id Pregunta: ".$id_pregun;
        //consultando las respuestas a esas preguntas teniendo en cuenta el intento actual:
        $respuestas_preg = $conn->getLastResponseToQuest($id_test_activo, $id_student, $paso_pregs, $id_pregun, $intento_actual);
        if (mysql_numrows($respuestas_preg) > 0) {
            $ultima_respuesta = mysql_fetch_array($respuestas_preg, MYSQL_ASSOC);
            $valor_resp = $ultima_respuesta['respuesta'];
            //echo "La ultima respuesta a la pregunta fue: ".$valor_resp;
            $intento_pregunt = $ultima_respuesta['intento'];
            $intento_resp_preg = $ultima_respuesta['intento_responder'];
        } else {
            $valor_resp = "";
            //echo "No se ha respondido esta pregunta: valor_resp=".$valor_resp;
            //si no hay respuestas a las preguntas, entonces el intento será 0: