Foros del Web » Programando para Internet » PHP »

Añadir y Quitar text inputs dinamicamente Y guardar su valor en unda base de datos

Estas en el tema de Añadir y Quitar text inputs dinamicamente Y guardar su valor en unda base de datos en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 24/07/2013, 09:40
 
Fecha de Ingreso: enero-2013
Mensajes: 34
Antigüedad: 11 años, 3 meses
Puntos: 1
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
  #2 (permalink)  
Antiguo 24/07/2013, 09:44
 
Fecha de Ingreso: diciembre-2009
Mensajes: 49
Antigüedad: 14 años, 4 meses
Puntos: 6
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
  #3 (permalink)  
Antiguo 24/07/2013, 10:08
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 1 mes
Puntos: 336
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
  1. SELECT COUNT(*) FROM respuestas r,correctas c WHERE r.id=c.id AND r.opcion=c.opcion

Si quieres saber si una respuesta específica es correcta:

Código MySQL:
Ver original
  1. SELECT COUNT(*) FROM respuestas r,correctas c WHERE r.id='$pregunta' AND r.id=c.id AND r.opcion=c.opcion

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
  #4 (permalink)  
Antiguo 24/07/2013, 10:12
 
Fecha de Ingreso: enero-2013
Mensajes: 34
Antigüedad: 11 años, 3 meses
Puntos: 1
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);
  #5 (permalink)  
Antiguo 24/07/2013, 10:25
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 1 mes
Puntos: 336
Respuesta: Añadir y Quitar text inputs dinamicamente Y guardar su valor en unda base

Es tal como había imaginado, solo debes adaptar las consultas que he hecho a la estructura de tus tablas, supongo que el campo correct_answer_users, contiene la respuesta que ha puesto el usuario, la cual no es realmente "correct", si es así entonces puedes usar el mismo procedimiento que he puesto más arriba :)
__________________
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
  #6 (permalink)  
Antiguo 24/07/2013, 10:26
 
Fecha de Ingreso: diciembre-2009
Mensajes: 49
Antigüedad: 14 años, 4 meses
Puntos: 6
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.
  #7 (permalink)  
Antiguo 24/07/2013, 10:31
 
Fecha de Ingreso: enero-2013
Mensajes: 34
Antigüedad: 11 años, 3 meses
Puntos: 1
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
  #8 (permalink)  
Antiguo 24/07/2013, 10:53
 
Fecha de Ingreso: enero-2013
Mensajes: 34
Antigüedad: 11 años, 3 meses
Puntos: 1
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
  #9 (permalink)  
Antiguo 24/07/2013, 11:20
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 1 mes
Puntos: 336
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: dinamicamente, inputs, tabla, text, valor
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:32.