PHP - Meter en array valores de variables acertados de un examen

   
Vista:

Meter en array valores de variables acertados de un examen

Publicado por sam (138 intervenciones) el 26/07/2014 20:03:41
Hola buenas a ver si me pueden ayudar con una duda que tengo:

Estoy haciendo un formulario que le estoy dando la forma de test-examen, es decir 10 preguntas a las cuales mediante radio button, tengo que decir si es verdadero o falso.

el tema es que si el usuario acierta, este valor se tiene que guardar en una variable.

Hasta aqui se hacerlo , pero como hago que el valor de la opcion acertada, se meta en un array para contabilizar asi las respuestas correctas.?

es decir si el usuario marca 6 respuestas correctas deben entrar en un array el cual le diria si este array contiene valores mayor que 5 entonces esta aprobado.


Como hago para que estos valores acertados entren en un array?


Gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Meter en array valores de variables acertados de un examen

Publicado por xve (5518 intervenciones) el 26/07/2014 22:06:51
Hola Sam, puedes crear dicho array desde PHP, no? imaginemos que los check se llaman check0, check1, ... check6, podrías hacer algo como:

1
2
3
4
5
6
7
8
9
<?php
$arrayRespuestas=array();
for($i=0;$i<7;$i++)
{
	if($_POST[${"check".$i}]=="on")
		$arrayRespuestas[]=$i;
}
echo count($arrayRespuestas);
?>

No entiendo muy bien porque lo quieres en un array...

Coméntanos si te sirve, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Meter en array valores de variables acertados de un examen

Publicado por sam (138 intervenciones) el 26/07/2014 22:52:19
uffff a ver, a ver que estoy un poco denso yo.

Mira xve, esto es lo que tengo:

if ($test_respuesta_1 == $respuesta_1) {

echo 'Correcta';

} else {

echo 'Incorrecta';

}




if ($test_respuesta_2 == $respuesta_2) {

echo 'Correcta';

} else {

echo 'Incorrecta';

}
.
.
..
.
if ($test_respuesta_10 == $respuesta_10) {

echo 'Correcta';

} else {

echo 'Incorrecta';

}


Y lo que necesito es que el valor de "$respuesta_n", que son los valores de los radio button que provienen de otra pagina php, pues calcule cuantas son correctas y cuantas incorrectas y logicamente si las correcta son 5 o mas , seria la nota de aprobado, de lo contrario suspenso.


Pero no se como enfocar esta parte, adaptando el codigo que has puesto.

help :-(
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Meter en array valores de variables acertados de un examen

Publicado por xve (5518 intervenciones) el 27/07/2014 09:44:55
Hola Sam, si los nombre de los formularios son test_respuesta_1, test_respuesta2,... test_respuesta_10

Yo haria un bucle del 1 al 10 y sumaria en una variable todos los valores correctos. Si es variable es 5 o superior, entiendo que es aprobado...

Haber que te parece este código:
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$correctas=0;
for($i=1;$i<11;$i++)
{
	if($_POST[${"test_respuesta_".$i}]==${"respuesta_".$i})
		$correctas++;
}
 
if($correctas>=5)
	echo "aprobado";
else
	echo "suspenso";
?>

Coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Vainas

Meter en array valores de variables acertados de un examen

Publicado por Vainas (254 intervenciones) el 27/07/2014 20:02:21
Un comentario xve. No creo que sea necesario usar ${} dentro del $_POST. con poner

1
$_POST["test_respuesta_".$i]

Vale no?

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de xve

Meter en array valores de variables acertados de un examen

Publicado por xve (5518 intervenciones) el 28/07/2014 08:58:10
Hola Vainas, tienes toda la razón!!! sin ninguna duda, la manera correcta y como tu dices...

1
if($_POST["test_respuesta_".$i]==${"respuesta_".$i})

Muchas gracias por comentarlo y ayudar!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar