Buenos dia necesito de su ayuda:
estoy elaborando un sistema de examenes online
y tengo 2 tablas en donde una guardo las respuesta correcta y la otra las respuesta del usuario quisiera poderlas compara
pero no secomo hacerlo
| |||
Añadir y Quitar text inputs dinamicamente Y guardar su valor en unda base de datos Buenos dia necesito de su ayuda: estoy elaborando un sistema de examenes online y tengo 2 tablas en donde una guardo las respuesta correcta y la otra las respuesta del usuario quisiera poderlas compara pero no secomo hacerlo |
| |||
Respuesta: Añadir y Quitar text inputs dinamicamente Y guardar su valor en unda base me temo que, al menos para mi, no has sido muy claro con el punto. Me parece que al menos deberías indicar como es el funcionamiento de tu sistema |
| ||||
Respuesta: Añadir y Quitar text inputs dinamicamente Y guardar su valor en unda base No parece tan dificil, pero tu pregunta es de base de datos, si es por ejemplo mysql: TABLA RESPUESTAS id | user | opcion 1 | 1 | 'a' 1 | 1 | 'b' 1 | 1 | 'c' TABLA CORRECTAS id | opcion 1 | 'a' 2 | 'b' 3 | 'b' Si quieres saber cuantas respuestas correctas hay, puedes hacer una consulta que busque las coincidencias en ambas tablas (respuestas y correctas)
Código MySQL:
Ver original Si quieres saber si una respuesta específica es correcta:
Código MySQL:
Ver original Saludos
__________________ El objetivo de este foro es orientar al usuario como un favor y no como una obligación. Yo soy de los que dan puntos por aporte :D |
| |||
Respuesta: Añadir y Quitar text inputs dinamicamente Y guardar su valor en unda base Esta son las tablas que les comente CREATE TABLE IF NOT EXISTS `answers` ( `id` int(11) NOT NULL AUTO_INCREMENT, `questions_id` int(11) NOT NULL, `answer_text` varchar(800) CHARACTER SET utf8 DEFAULT NULL, `correct_answer` int(11) NOT NULL, `correct_answer_text` varchar(800) CHARACTER SET utf8 DEFAULT NULL, `control_type` int(11) DEFAULT NULL, PRIMARY KEY (`id`), KEY `group_id` (`questions_id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=125 ; -- -- Volcar la base de datos para la tabla `answers` -- INSERT INTO `answers` (`id`, `questions_id`, `answer_text`, `correct_answer`, `correct_answer_text`, `control_type`) VALUES (85, 27, 'chkMulti1', 0, NULL, 0), (86, 27, 'chkMulti2', 1, NULL, 0), (87, 27, 'chkMulti3', 0, NULL, 0), (88, 27, 'chkMulti4', 1, NULL, 0), (89, 28, 'chkMulti5', 0, NULL, 0), (90, 28, 'chkMulti6', 1, NULL, 0), (91, 28, 'chkMulti7', 0, NULL, 0), (92, 29, 'Respuesta Unica 1', 0, NULL, 1), (93, 29, 'Respuesta Unica 2', 0, NULL, 1), (94, 29, 'Respuesta Unica 3', 1, NULL, 1), (95, 30, 'Respuesta Unica 4', 0, NULL, 1), (96, 30, 'Respuesta Unica 5', 1, NULL, 1), (97, 30, 'Respuesta Unica 6', 0, NULL, 1), (98, 31, 'Respuesta Unica 7', 1, NULL, 1), (99, 31, 'Respuesta Unica 8', 0, NULL, 1), (100, 31, 'Respuesta Unica 9', 0, NULL, 1), (101, 32, 'Respuesta de Checbox 1', 0, NULL, 0), (102, 32, 'Respuesta de Checbox 2', 1, NULL, 0), (103, 32, 'Respuesta de Checbox 3', 0, NULL, 0), (104, 33, 'Respuesta de Checbox 4', 0, NULL, 0), (105, 33, 'Respuesta de Checbox 5', 1, NULL, 0), (106, 33, 'Respuesta de Checbox 6', 0, NULL, 0), (107, 34, NULL, 0, 'LIbre', 3), (108, 35, NULL, 0, 'Libre 2', 3), (109, 36, 'Respuesta Multiples 1', 0, '1', 4), (110, 36, 'Respuesta Multiples 2', 0, '2', 4), (111, 36, 'Respuesta Multiples 3', 0, '3', 4), (112, 37, 'Respuesta Multiples 4', 0, '4', 4), (113, 37, 'Respuesta Multiples 5', 0, '5', 4), (114, 37, 'Respuesta Multiples 6', 0, '6', 4), (115, 38, 'txtOne1', 0, NULL, 1), (116, 38, 'txtOne2', 1, NULL, 1), (117, 38, 'txtOne3', 0, NULL, 1), (118, 39, 'chkMulti1', 0, NULL, 0), (119, 39, 'chkMulti2', 1, NULL, 0), (120, 39, 'chkMulti3', 0, NULL, 0), (121, 40, NULL, 0, 'libre', 3), (122, 41, 'multi 1', 0, '1', 4), (123, 41, 'multi 2', 0, '2', 4), (124, 41, 'multi 3', 0, '3', 4); CREATE TABLE IF NOT EXISTS `answers_users_detalles` ( `id` int(11) NOT NULL AUTO_INCREMENT, `questions_id` int(11) NOT NULL, `correct_answer_users` int(11) NOT NULL, `correct_answer_text_users` varchar(800) CHARACTER SET utf8 DEFAULT NULL, `detallles_answer` int(100) NOT NULL, PRIMARY KEY (`id`), KEY `group_id` (`questions_id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=52 ; -- -- Volcar la base de datos para la tabla `answers_users_detalles` -- INSERT INTO `answers_users_detalles` (`id`, `questions_id`, `correct_answer_users`, `correct_answer_text_users`, `detallles_answer`) VALUES (43, 29, 1, NULL, 120), (44, 29, 0, NULL, 120), (45, 29, 0, NULL, 120), (46, 30, 1, NULL, 120), (47, 30, 0, NULL, 120), (48, 30, 0, NULL, 120), (49, 31, 0, NULL, 120), (50, 31, 1, NULL, 120), (51, 31, 0, NULL, 120); |
| |||
Respuesta: Añadir y Quitar text inputs dinamicamente Y guardar su valor en unda base bueno, no me queda claro la utilidad de los campos `correct_answer_text_users`, `detallles_answer`de la tabla de respuestas y de `correct_answer_text`, `control_type`de la tabla de preguntas pero haría una consulta como la siguiente select count(*) from answers A inner join answers_users_detalles B on A.id = B.id and A.questions_id = B.questions_id and A.correct_answer = B.correct_answer_users where A.id = XXX (parámetro de examen que seguramente dispones en algún lado) la consulta anterior te devolvería la cantidad de respuestas correctas. Si quieres un detalle sería algo así select A.id, A.questions_id, A.answer_text, A.correct_answer, B.correct_answer_users from answers A inner join answers_users_detalles B on A.id = B.id and A.questions_id = B.questions_id where A.id = XXX esto suponiendo que ambas tablas tienen la misma cantidad de registros, caso contrario usa un outer join. incluso podes usar un if mediante el cual podes agregar una columna más que te indique si la respuesta es correcta o incorrecta, pero no estoy seguro como se hace con mysql. luego a esta tabla la podes mostrar en una página con el resultado del test. espero que sea esto lo que estás necesitando. |
| |||
Respuesta: Añadir y Quitar text inputs dinamicamente Y guardar su valor en unda base muchas gracis chicos tratare con los ejemplos cargados terminado el proyecto lo subire para que lo modifiquen me comprometo hacerlo |
| |||
Respuesta: Añadir y Quitar text inputs dinamicamente Y guardar su valor en unda base quisas con esta imagen esten mas claro de lo que quiero lograr https://www.dropbox.com/s/yhdmhatnktm5zd5/Sin%20t%C3%ADtulo.jpg |
| ||||
Respuesta: Añadir y Quitar text inputs dinamicamente Y guardar su valor en unda base En ese caso es aún más facil todavia, ya que ni si quiera necesitas contarlas, solo basta con que pongas la respuesta del usuario y la respuesta correcta, lo unico que debes enlazar es la id de la pregunta: SELECT correct_answer_users,correct_answer,correct_answer _text FROM answers_users_detalles us,answers an WHERE us.questions_id=an.questions_id eso te mostrara un resultado como este: correct_answer_users | correct_answer | correct_answer_text 1 | 2 | VELOCIDAD
__________________ El objetivo de este foro es orientar al usuario como un favor y no como una obligación. Yo soy de los que dan puntos por aporte :D |
Etiquetas: |