} //cierra while recorriendo preguntas //el servicio responde actualizaciones exitosas: $response_data[] = array("respuesta" => "1"); } elseif (strcmp($intento, "2") == 0) { $conect->updateFinishTest($id_test, $test_aprobado, $intento); //Registrando las preguntas como intento 2: $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']; //se consulta la tabla de preguntas para saber la respuesta correcta a la pregunta y validar //si la pregunta esta correcta: $resultset_resp_preg = $conect->getQuestionDataByID($id_pregunta); $resp_preg_data = mysql_fetch_array($resultset_resp_preg, MYSQL_ASSOC); //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, "1"); $preg_id_data = mysql_fetch_array($resultset_preg_data, MYSQL_ASSOC); $preg_id_upd = $preg_id_data['id_respuesta_preg']; //validando si la ultima respuesta dada a la pregunta es correcta entonces se graba //como respuesta definitiva y sino entonces se actualiza el intento: if (strcasecmp($resp_preg_data['respuesta_correcta'], $preg_id_data['respuesta']) == 0) { $conect->updateRespuestaDefByID($preg_id_upd); } else { //se actualiza el intento de la ultima respuesta a 2 porque es el segundo envio del cuestionario //$conect->updateIntentoAnswerByID($preg_id_upd,"2"); //estoy probando la posibilidad de que se guarde un nuevo registro con la respuesta: //en este caso se guarda la respuesta definitiva en 1, el tiempo en 0 y el intento en 2 $conect->insertNewAnswerToQuest($id_estud, $id_test, $id_paso, $id_pregunta, $preg_id_data['respuesta'], "1", $preg_id_data['tiempo_de_respuesta'], "2", $preg_id_data['intento_responder']);
<div class="row"> <div class="col-sm-12"> <div class="panel panel-primary"> <div class="panel-heading navbar-inverse"> <h2 class="panel-title">Editando Pregunta</h2> </div> <div class="panel-body"> <p>A continuación puede editar cualquier aspecto de la pregunta:</p> <?php //consultando los datos de la pregunta: $resultset_data = $datab_quest->getQuestionDataByID($id_preg); $question_data = mysql_fetch_array($resultset_data, MYSQL_ASSOC); //variable para almacenar la fase seleccionada: $phase_selected = ""; ?> <form class="form-horizontal" action="updateQuestion.php" method="post" enctype="multipart/form-data"> <div class="form-group"> <label for="fase" class="col-lg-2 control-label">Pregunta para la fase:</label> <div class="col-lg-3"> <select class="form-control" name="fase"> <option value="">Seleccione una fase</option> <?php $fases = $datab_quest->consultar_nombres_fases(); while ($row = mysql_fetch_row($fases)) {
include "valida.php"; define('AT_INCLUDE_PATH', 'include/'); include_once AT_INCLUDE_PATH . 'funciones_bd.php'; //echo "id=".$_GET['id_preg']; if (!isset($_GET['id_preg'])) { //header("location: consultar_pregs.php?error=3"); //exit; } else { if ($_GET['id_preg'] == "") { //header("location: consultar_pregs.php?error=3"); //exit; } else { $id_quest = $_GET['id_preg']; $data_connect = new funciones_BD(); //ahora se procede a eliminar el archivo de imagen que se habia cargado al servidor: //primero se consultan los datos de la pregunta: $preg_data_resultset = $data_connect->getQuestionDataByID($id_quest); $data_preg = mysql_fetch_array($preg_data_resultset, MYSQL_ASSOC); //se procede a eliminar el archivo si es diferente del . porque el punto significa que no se cargo ningun archivo: if (strcasecmp($data_preg['archivo_imagen'], ".") != 0) { unlink($data_preg['archivo_imagen']); } if ($data_connect->deleteQuestionByID($id_quest)) { header("location: consultar_pregs.php?conf=1"); exit; } else { header("location: consultar_pregs.php?error=4"); exit; } } }
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: $intento_pregunt = "0"; $intento_resp_preg = 0; } //ahora que se tiene la respuesta que dio el estudiante se procede a consultar los datos de //las preguntas: $pregunta_data_results = $conn->getQuestionDataByID($id_pregun); $preg_data = mysql_fetch_array($pregunta_data_results, MYSQL_ASSOC); //agregandole al array la respuesta que tiene asociada la pregunta: $preg_data['resp_pregunta'] = $valor_resp; //agregando el intento: $preg_data['intento'] = $intento_pregunt; //agregando el intento en el que esta el estudiante despues de que ha enviado el test por primera vez: $preg_data['intento_respond'] = $intento_resp_preg; //agregandole al array de la pregunta el ID del test que es muy importante para saber a que test pertenecen las preguntas: $preg_data['id_test'] = $id_test_activo; //agregando las preguntas al array pregs_test_activo: array_push($pregs_test_activo, $preg_data); } } else { //esto se ejecuta cuando el test no existe y se va a crear uno nuevo: $questions = $conn->getQuestionsForStep($paso_pregs);