Ver Mensaje Individual
  #19 (permalink)  
Antiguo 07/02/2008, 16:33
cmarrero
(Desactivado)
 
Fecha de Ingreso: enero-2008
Ubicación: Mendoza
Mensajes: 458
Antigüedad: 16 años, 3 meses
Puntos: 2
Tengo en 1paso.php

Hago una consulta aleatoria una base de datos con limit 0,10

esto me tira 10 registros aleatorios, dichos registros cuentan con

id,pregunta,respuesta,puntaje

Obviamente lo unico que muestro es el id y pregunta los demas los mantengo en un hiddenField.

a cada registro le coloco un checbox de tipo Si o No...

a los nombres de los hiddenField les pongo de tipo random[consulta_id]

Dicho esto, envio a envio_datos.php que seria algo asi...

Código PHP:

$valores 
implode", "$_POST['random'] );
$query "INSERT INTO examen (idusuario,uno,dos,tres,cuatro,cinco,seis,siete,ocho,nueve,diez,texto,puntaje) VALUES ('$idusuario', $valores, '$texto', '$puntaje' )"
Uso la funcion implode para poder insertar los datos dentro de una tabla... ahor ami problema es como hago para poder sumar los puntajes obtenidos por la respuesta correcta, es decir, si en el checbox coloco Si y la respuesta es NO entonces no se suma, pero si la respuesta es Si entonces que sume el puntaje.

Lo unico que logre con un if fue lo siguiente:

$valores = implode( ", ", $_POST['random'] );

$respuestasverdaderas= implode( ", ", $_POST[resver] );

if ($valores=="$respuestasverdaderas") entocnes me comparaba lo que el usuario puso con lo verdadero y le colocaba si es verdadero sume 20 puntos ya que casi todas las preguntas eran de 2 puntos, y en caso contrario 0.

El problema es obvio, si respondio 4 bien y 6 mal, el resultado seria 0 y 8 como deberia ser...

Espero haberme hecho entender...

Y espero que alguien me de una ayudita...

Otra cosa, el puntaje final debo insertarlo en la tabla.

Si no es posible lo que digo pense en lo siguiente, una ves guardado los datos en la base de datos, hacer una consulta de comparacion con las respuestas correctas que se encuentran en la BD y las que hizo el usuario que se guardaron en la tabla examen, y de esta manera hacerlo mas facil....

Se me ocurrio algo por el estilo pero no lo he probado todavia... alguna idea de como hacerlo

Última edición por GatorV; 07/02/2008 a las 18:01