Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/07/2013, 01:10
CHAEEZ
 
Fecha de Ingreso: julio-2013
Ubicación: Temuco
Mensajes: 48
Antigüedad: 10 años, 10 meses
Puntos: 0
Pregunta Como capturar las respuestas correctas o incorrectas de un TEST Online.

Tengo este codigo para comparar las preguntas correctas con lo que se respondió. Las variable $correctas es global (la verdad es que no se si esta bien eso), y la capturo en un ciclo while que esta anteriormente, el cual imprimia las respuestas de una pregunta X. Por otro lado, $idPregunta tambien es global, la cual es capturada en otro while el cual imprime las preguntas. Y por ultimo tambien tenemos la variable $r que cuenta la cantidad de preguntas que hay, que tambien es global.

Lo que intento hacer es capturar las buenas y malas de un test online, para luego capturar estos valores ($buenas y $malas) y poder sacar un puntaje por alumno.

Código PHP:
if ($_POST['altern'.$idPregunta]==$correctas){
                    for(
$buenas=0;$buenas<=$r;$buenas++)
                    {
                    echo 
$buenas;    
                        
                    }             
                    
                }else {
                    
                    for(
$malas=0;$malas<=$r;$malas++)
                    {
                        
                        echo 
$malas;
                    }
                }
                
                       
$sql2 "SELECT max_preg FROM pruebas WHERE id_pruebas ='".$_POST['pruebas_r']."'";
                        
$resultado2 $mysqli->query($sql2); 
                        while(
$fila=$resultado2->fetch_assoc()){
                        
$cant_preg $fila['max_preg'];
                        
$uno 1;
                        
$dos 2;
                        
$sql3 "SELECT ROUND (( ? - ? /4 ) * (SELECT 450 / max_preg AS 'Factor' 
                                FROM pruebas
                                WHERE id_pruebas =? )) AS 'Calculo Puntaje'"
;
                        
$puntaje $mysqli->prepare($sql3);
                        
$puntaje->bind_param('ii'$buenas$malas$_POST['pruebas_r']);
                        
$puntaje->bind_result($calculo);
                        
$puntaje->execute();
                        while (
$puntaje->fetch()){
                        echo 
$calculo;
                        }
                        } 
Espero me ayuden, se me hizo muy complicado todo esto.