Muchas gracias,
ya lo implemente así, y tengo duda en la parte de los aciertos, en los errores todo bien, lo cuenta como debe de ser. Pero a la hora de marcar solo las dos primeras casillas, el resultado me da solo 0.5, y no esta contando el valor de la segunda casilla. Lo cual el resultado debería de ser 1.
Intente hacer el cambio de la siguiente forma
eso me cuenta ambos puntos, pero eso quiere decir que siempre me los contará, es decir al momento de elegir las 5 casillas, me incrementa estos también.
Lo único que se me ocurre sería restar el resultado de los errores para que me de la calificación correcta.
Saludos
ya lo implemente así, y tengo duda en la parte de los aciertos, en los errores todo bien, lo cuenta como debe de ser. Pero a la hora de marcar solo las dos primeras casillas, el resultado me da solo 0.5, y no esta contando el valor de la segunda casilla. Lo cual el resultado debería de ser 1.
Cita de: #!drvy en 16 Mayo 2015, 13:31 PM
Y finalmente para comprobar las preguntas y respuestas:Código (php) [Seleccionar]
// si la respuesta existe y es falsa
if(isset($preguntas[$id]['respuestas'][$rep]) &&
$preguntas[$id]['respuestas'][$rep] == false){
$_error=true; // hay un error
break; // Dejamos de comprobar respuestas de esta pregunta
}
}
// Si no ha habido errores en las respuestas
// incrementamos puntos. Si no, incrementamos errores.
if(!$_error){ $puntos += $preguntas[$id]['puntos']; }
else { $errores++; }
}
}
Intente hacer el cambio de la siguiente forma
Código [Seleccionar]
foreach((array)$respuesta as $rep)
{
// si la respuesta existe y es falsa
if(isset($preguntas[$id]['respuestas'][$rep]) && $preguntas[$id]['respuestas'][$rep] == false)
{
$_error=true; // hay un error
break; // Dejamos de comprobar respuestas de esta pregunta
}
else
{
if(isset($preguntas[$id]['respuestas'][$rep]) && $preguntas[$id]['respuestas'][$rep] == true)
{
$puntos += $preguntas[$id]['puntos'];
}
}
}
// Si no ha habido errores en las respuestas
// incrementamos puntos. Si no, incrementamos errores.
if($_error==true)
{
$errores++;
}
eso me cuenta ambos puntos, pero eso quiere decir que siempre me los contará, es decir al momento de elegir las 5 casillas, me incrementa estos también.
Lo único que se me ocurre sería restar el resultado de los errores para que me de la calificación correcta.
Saludos