Foros del Web » Programando para Internet » PHP »

Problema Correcion de un examen en php

Estas en el tema de Problema Correcion de un examen en php en el foro de PHP en Foros del Web. Hola a todos!! Me llamo Leo y estoy realizando un examen virtual y tengo un pequeño problema. Esta programado en php y me funciona casi ...
  #1 (permalink)  
Antiguo 01/02/2010, 05:10
 
Fecha de Ingreso: febrero-2010
Mensajes: 13
Antigüedad: 14 años, 2 meses
Puntos: 0
Información Problema Correcion de un examen en php

Hola a todos!! Me llamo Leo y estoy realizando un examen virtual y tengo un pequeño problema. Esta programado en php y me funciona casi todo menos la correción del examen.
Esta es la estructura:
Tengo para cada tipo de pregunta que hay en el examen un php para cada una: examen.preguntas.composicion.php,examen.preguntas. marcar.php,examen.preguntas.completas.php, examen.preguntas.SA.php, examen.preguntas.test.php, examen.preguntas.vof.php.
  #2 (permalink)  
Antiguo 01/02/2010, 05:19
 
Fecha de Ingreso: febrero-2010
Mensajes: 13
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Problema Correcion de un examen en php

<?php
//examen.preguntas.marcar
include_once "Examen.php";
class VoF
{
function apuntarTodasExamen($post,$id_ejercicio,$segmento)
{
$instancia=new Examen();
$variables=array_keys($post);
$preguntas='preguntasVoF'.$segmento;
$posicion=0;

if (in_array($preguntas,$variables))
{ $num_preg=0;
foreach($post[$preguntas] as $texto_pregunta)
{
$respuestas_preguntas_enunciado=array();
foreach($variables as $var)
{
if(preg_match("/respuestasV".$segmento."P/",$var))
{
array_push($respuestas_preguntas_enunciado,$var); }
}
$media_id="";
if(in_array('audio_'.$preguntas,$variables))
{
$media_id=$_POST['audio_'.$preguntas][$num_preg];
}
$posicion=$post["pos_".$preguntas];

$posicion=($posicion[0]=="")?"0":$posicion[0];
$id_pregunta=$instancia->adicionarPregunta($texto_pregunta,'vof',$media_id ,$id_ejercicio,0,$posicion);
$rps=$respuestas_preguntas_enunciado[$num_preg];

if (in_array($rps,$variables))
{
$respuesta=$post[$rps];
$instancia->adicionarRespuestas("",$respuesta,$id_pregunta,0) ;

}
$num_preg++;
}
}

}
?>
  #3 (permalink)  
Antiguo 01/02/2010, 05:20
 
Fecha de Ingreso: febrero-2010
Mensajes: 13
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Problema Correcion de un examen en php

Segunda parte de examen.preguntas.marcar.php
<?php
function determinarPuntuacion($nro_examen,$usuario,$fecha,$ tipo_examen)
{
include_once "db_handling.php";
$db=new DB();
$result=array();
$total_buenas=0;
$total_examen=0;
$array_buenas=array();
if($tipo_examen==0)
{
$sentencia=sprintf("select id_ejercicio,nro_preguntas_a_mostrar,aleatorizar,v alor_ejercicio from composicion_enunciado, composicion_examen where composicion_enunciado.id_enunciado=composicion_exa men.id_enunciado and composicion_examen.id_examen=%d;",$nro_examen);
$sentencia_determinar_ejercicios_test=sprintf("sel ect preguntas.id_ejercicio from preguntas,tipo_preguntas,composicion_enunciado, composicion_examen where tipo_preguntas.tipo='vof' and tipo_preguntas.id=preguntas.tipo and composicion_enunciado.id_ejercicio=preguntas.id_ej ercicio and composicion_enunciado.id_enunciado=composicion_exa men.id_enunciado and composicion_examen.id_examen=%d group by composicion_enunciado.id_ejercicio;",$nro_examen) ;
}
else
{
$sentencia=sprintf("select distinct preguntas.id_ejercicio,nro_preg,aleatorizacion,com posicion_examen_automatico.valor/ctdad_ejercicios
from composicion_examen_automatico,resultado,preguntas
where composicion_examen_automatico.id_examen=%d
and resultado.id_examen=composicion_examen_automatico. id_examen
and preguntas.id=resultado.id_pregunta;",$nro_examen);

$sentencia_determinar_ejercicios_test=sprintf("sel ect distinct preguntas.id_ejercicio
from tipo_preguntas,composicion_examen_automatico,resul tado,preguntas
where composicion_examen_automatico.id_examen=%d
and tipo_preguntas.id=preguntas.tipo
and tipo_preguntas.tipo='vof'
and resultado.id_examen=composicion_examen_automatico. id_examen
and preguntas.id=substr(resultado.id_pregunta,1,4)",$n ro_examen); }

$ejercicios_con_test=$db->execute($sentencia_determinar_ejercicios_test);
$fila_desc_ejercicios=$db->execute($sentencia);
$ejercicios=array();
foreach($ejercicios_con_test as $ejercicio)
{
array_push($ejercicios,$ejercicio[0]);
}
foreach($fila_desc_ejercicios as $fila_detallada_ejercicio)
{
if(in_array($fila_detallada_ejercicio[0],$ejercicios))
{
if($fila_detallada_ejercicio[1]==0)
{
$preguntas_a_mostrar=$db->execute(sprintf("select count(preguntas.id) from preguntas where preguntas.id_ejercicio=%d ;",$fila_detallada_ejercicio[0]));
$fila_detallada_ejercicio[1]=$preguntas_a_mostrar[0][0];
}
if($fila_detallada_ejercicio[3]==0)
{
if($tipo_examen==0)
{
$sentencia=sprintf("select count(valor_ejercicio) from composicion_enunciado,composicion_examen where composicion_examen.id_enunciado=composicion_enunci ado.id_enunciado and composicion_examen.id_examen=%d and valor_ejercicio=0;",$nro_examen);
}
else
{
$sentencia=sprintf("select count(valor) from composicion_examen_automatico where id_examen=%d and valor=0;",$nro_examen);
}
$nro_resp_con_0=$db->execute($sentencia);
$nro_resp_con_0=$nro_resp_con_0[0][0];
if($tipo_examen==0)
{
$sentencia=sprintf("select sum(valor_ejercicio) from composicion_enunciado,composicion_examen where composicion_examen.id_enunciado=composicion_enunci ado.id_enunciado and composicion_examen.id_examen=%d and valor_ejercicio<>0;",$nro_examen);
}
else
{
$sentencia=sprintf("select sum(valor) from composicion_examen_automatico where id_examen=%d and valor<>0;",$nro_examen);
}
$punt_total=$db->execute($sentencia);
$faltante=100-$punt_total[0][0];
$fila_detallada_ejercicio[3]=$faltante/$nro_resp_con_0;
}
$puntuacion_por_pregunta=$fila_detallada_ejercicio[3]/$fila_detallada_ejercicio[1];

$id_ejercicio=$fila_detallada_ejercicio[0];
if($tipo_examen==0)
{
$sentencia=sprintf("select count(distinct resultado.id_pregunta),resultado.id_pregunta from resultado,respuestas,preguntas,tipo_preguntas,comp osicion_examen,composicion_enunciado,usuario where substring(resultado.id_pregunta,1,4)=preguntas.id and preguntas.tipo=tipo_preguntas.id and tipo_preguntas.tipo='vof' and preguntas.id_ejercicio=composicion_enunciado.id_ej ercicio and composicion_examen.id_enunciado=composicion_enunci ado.id_enunciado and composicion_examen.id_examen=%d and composicion_enunciado.id_ejercicio=%d and resultado.fecha_examen like'%s' and usuario.id=resultado.id_usuario and usuario.email='%s' group by preguntas.id,resultado.id_usuario order by resultado.id_pregunta asc;",$nro_examen,$fila_detallada_ejercicio[0],$fecha,$usuario);
}
else
{
$sentencia=sprintf("select count(distinct resultado.id_pregunta),resultado.id_pregunta
from resultado,respuestas,preguntas,tipo_preguntas,comp osicion_examen,composicion_enunciado,composicion_e xamen_automatico,usuario
where substring(resultado.id_pregunta,1,4)=preguntas.id
and preguntas.tipo=tipo_preguntas.id and tipo_preguntas.tipo='vof'
and preguntas.id_ejercicio=composicion_enunciado.id_ej ercicio
and composicion_examen_automatico.id_examen=%d
and composicion_examen_automatico.id_examen=resultado. id_examen
and composicion_enunciado.id_ejercicio=%d
and resultado.fecha_examen like '%s'
and usuario.id=resultado.id_usuario
and usuario.email='%s' group by preguntas.id,resultado.id_usuario order by resultado.id_pregunta asc;",$nro_examen,$id_ejercicio,$fecha,$usuario);
}
$nro_respuestas_x_preguntas=$db->execute($sentencia);
if(count($nro_respuestas_x_preguntas)>0)
{
if($tipo_examen==0)
{
$sentencia=sprintf("select count(distinct resultado.id_pregunta),resultado.id_pregunta from resultado,respuestas,preguntas,tipo_preguntas,comp osicion_examen,composicion_enunciado,usuario where resultado.valor=respuestas.validez and substring(resultado.id_pregunta,1,4)=preguntas.id and preguntas.tipo=tipo_preguntas.id and tipo_preguntas.tipo='vof' and preguntas.id_ejercicio=composicion_enunciado.id_ej ercicio and composicion_examen.id_enunciado=composicion_enunci ado.id_enunciado and composicion_examen.id_examen=%d and composicion_enunciado.id_ejercicio=%d and resultado.fecha_examen like'%s' and usuario.id=resultado.id_usuario and usuario.email='%s' group by preguntas.id,resultado.id_usuario order by resultado.id_pregunta asc; ",$nro_examen,$fila_detallada_ejercicio[0],$fecha,$usuario);
}
else
{
$sentencia=sprintf("select count(distinct resultado.id_pregunta),resultado.id_pregunta
from resultado,respuestas,preguntas,tipo_preguntas,comp osicion_examen,composicion_examen_automatico,compo sicion_enunciado,usuario
where resultado.valor=respuestas.validez
and substring(resultado.id_pregunta,1,4)=preguntas.id
and composicion_examen.id_enunciado=composicion_enunci ado.id_enunciado
and preguntas.tipo=tipo_preguntas.id
and tipo_preguntas.tipo='vof'
and preguntas.id_ejercicio=composicion_enunciado.id_ej ercicio
and composicion_examen_automatico.id_examen=resultado. id_examen
and composicion_examen_automatico.id_examen=%d
and composicion_enunciado.id_ejercicio=%d
and resultado.fecha_examen like'%s'
and usuario.id=resultado.id_usuario
and usuario.email='%s' group by preguntas.id,resultado.id_usuario order by resultado.id_pregunta asc; ",$nro_examen,$fila_detallada_ejercicio[0],$fecha,$usuario);

}
$nro_respuestas_buenas_x_preguntas=$db->execute($sentencia);
$sum_total_buenas=0;
$sum_total_respuestas=0;
$sum_total_preguntas=0;
foreach($nro_respuestas_x_preguntas as $respuestas_x_pregunta)
{ $total_respuestas=$respuestas_x_pregunta[0]; $puntuacionXrespuesta=$puntuacion_por_pregunta/$total_respuestas;

$buenas=0;
foreach($nro_respuestas_buenas_x_preguntas as $nrbxp)
{
$buenas=($nrbxp[1]==$respuestas_x_pregunta[1]) ?$nrbxp[0]:0;
}
$sum_total_buenas+=$buenas;
$sum_total_respuestas+=$respuestas_x_pregunta[0];
$total_buenas+=$buenas*$puntuacionXrespuesta;
$sum_total_preguntas++;
}
$total_buenas=($total_buenas>1)?ceil($total_buenas ):$total_buenas;
$array_buenas[0]=$total_buenas;
$sum_total_buenas=($sum_total_buenas>1)?ceil($sum_ total_buenas):$sum_total_buenas;
$sum_total_respuestas=($sum_total_respuestas>1)?ce il($sum_total_respuestas):$sum_total_respuestas;
$sum_total_preguntas=($sum_total_preguntas>1)?ceil ($sum_total_preguntas):$sum_total_preguntas;
$valor_total=($fila_detallada_ejercicio[3]>1)?ceil($fila_detallada_ejercicio[3]):$fila_detallada_ejercicio[3];
array_push($result,array($nro_examen,$id_ejercicio ,'Verdadero o Falso',$total_buenas,$valor_total,$sum_total_buena s,$sum_total_respuestas,$sum_total_preguntas,$fech a,$usuario,$array_buenas));
$total_buenas=0;
$sum_total_buenas=0;
$sum_total_respuestas=0;
}
$total_examen+=(count($nro_respuestas_x_preguntas) >0)?$fila_detallada_ejercicio[3]:0;
}
}
return array(ceil($total_buenas),$result,ceil($total_exam en));
}
function pintar()
{}
}
?>
  #4 (permalink)  
Antiguo 01/02/2010, 05:27
 
Fecha de Ingreso: febrero-2010
Mensajes: 13
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Problema Correcion de un examen en php

Asi estan todas programadas de estos php van a desglose_resultado.php que es la que recoje los resultados y llama a su vez por correcion_examen.php que es el que muestra los resultado.
<?php
include_once "db_handling.php";
include_once 'examen.preguntas.vof.php';
include_once 'examen.preguntas.test.php';
include_once 'examen.preguntas.SA.php';
include_once 'examen.preguntas.marcar.php';
include_once 'examen.preguntas.completa.php';
include_once 'examen.preguntas.composicion.php';
$db=new DB();
$correcion_examen=new Correcion_Examen();
$time = $correcion_examen->getmicrotime();
$correcion_examen->detalle_examenes($_POST['mostrar_modelo_examen'],$_POST['fecha_examen'],$_POST['identificador_unico']);
class Correcion_Examen
{
private static $db,$vof,$test,$soa,$completa,$marcar,$desglose;
function __construct()
{
$this->desglose=array();
$this->vof=new VoF();
$this->test=new Test();
$this->soa=new SinonimosOAntonimos();
$this->completa=new Completa();
$this->marcar=new Marcar();
$this->db=new DB();
$this->redaccion=new Composicion();
}
function desgloseTodo($modelo,$fecha,$usuario)
{
$output1="<table border='1' cellspacing='0'><col/><col width='100'/><col/><col width='100'/><col/><col width='100'/><col/>";
$output2.='<tr style="background-color:#28438C;color:white"><th>Examen</th><th colwidth="100">Fecha</th><th>Ejercicio</th><th>Tipo</th><th>Puntuación</th><th>Respuestas</th><th>Total preguntas</th></tr>';
foreach($this->desglose as $desglose_individual)
{

foreach($desglose_individual as $individual)
{
if($individual[0]==$modelo & $fecha==$individual[8] & $individual[9]==$usuario)
{
if($individual[2]!='Redacción')
{

$output2.=sprintf('<tr><td>'.$individual[0].'</td><td>'.$individual[8].'</td><td>'.$individual[2].'</td><td>'.$individual[3].' de '.$individual[4].'</td><td>'.$individual[5].' de '.$individual[6].'</td><td>'.$individual[7].'</td></tr>');
}
else
{
foreach($individual[10] as $respuestas_redaccion)
{
$output1.=sprintf('<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td>
<td>
<input type="hidden" id="modelo_examen" name="modelo_examen" value="%d"/>
<input type="hidden" id="id_resultado" name="id_resultado" value="%d"/>
<input name="fecha_examen" id="fecha_examen" type="hidden" value="%s"/> <br/>
<input type="button" class="poner_cali" value="Poner Calificación"/>
</td>
<td colspan="2">
<input name="puntuacion" id="puntuacion" type="hidden" value="%s"/>
<input name="modelo_examen" id="modelo_examen" type="hidden" value="%s"/>
<input name="id_resultado" id="id_resultado" type="hidden" value="%s"/>
<div style="width:300px;"><b>Texto:</b><br/>%s</div>
</td>
</tr>',$individual[0],$individual[8],$individual[2],$individual[0],$respuestas_redaccion[2],$respuestas_redaccion[3],$individual[4],$respuestas_redaccion[1]);
}
}
}
}
}
$output1.="</table>";
return $output2;
}
function getmicrotime()
{
list($usec, $sec) = explode(" ",microtime());
return ((float)$usec + (float)$sec);
}

function detalle_examenes($id_examen,$fecha_examen)
{
$sentencia=sprintf("select usuario.email as alumno from resultado,nivel,modelo_examen,usuario where modelo_examen.id=resultado.id_examen and modelo_examen.nivel=nivel.id and resultado.id_usuario=usuario.id and fecha_examen like '%s' and resultado.id_examen='%s' group by alumno",strftime('%Y-%m-%d',strtotime($fecha_examen)).'%',$id_examen);
$examenes_por_usuario=$this->db->execute($sentencia);
$output="";
$output.="<td colspan='4'>
<table style='font-size:1em;border:solid 1px black;'>
<tr>
<th><b>Usuario</b></th>
<th><b>Correctas por </br>autocorrección</b></th>
<th><b>Acciones</b></th>
<th><b>Estado</b></th>
</tr>";
$tipo_examen=$this->db->execute(sprintf("select id_tipo_examen from modelo_examen where id='%s';",$id_examen));
$tipo_examen=$tipo_examen[0][0];
include_once 'procedimientos_fidescu.php';
$procedimientos=new Procedimiento();
$veces_usuario=0;

foreach($examenes_por_usuario as $usuario)
{
$veces_usuario++;
print $veces_usuario;
$autocorreccion=$procedimientos->getCorreccionPreguntasTipo1($id_examen,$usuario[0],$fecha_examen);
$resultado=$autocorreccion[0][0];
$autocorreccion=$procedimientos->getCorreccionPreguntasTipo2($id_examen,$usuario[0],$fecha_examen);
$resultado+=$autocorreccion[0][0];
$autocorreccion=$procedimientos->getCorreccionPreguntasTipo3($id_examen,$usuario[0],$fecha_examen);
$resultado+=$autocorreccion[0][0];
$sentencia_corregido=sprintf("select corregido from agenda_examenes,usuario where usuario.id=id_usuario and usuario.email='%s' and agenda_examenes.id_examen=%d and agenda_examenes.fecha_activacion=SUBSTRING('%s',1, 10) limit 1",$usuario[0],$id_examen,$fecha_examen);
$corregido_=$this->db->execute($sentencia_corregido);
$time = $this->getmicrotime();
$puntuacion_total=$this->vof->determinarPuntuacion($id_examen,$usuario[0],$fecha_examen,$tipo_examen);
$puntuacion_buenas=$puntuacion_total[0];
$puntuacion_total_buenas=$puntuacion_total[2];
array_push($this->desglose,$puntuacion_total[1]);
$time = $this->getmicrotime();
$puntuacion_total_test=$this->test->determinarPuntuacion($id_examen,$usuario[0],$fecha_examen,$tipo_examen);
$puntuacion_buenas+=$puntuacion_total_test[0];
$puntuacion_total_buenas+=$puntuacion_total_test[2];
array_push($this->desglose,$puntuacion_total_test[1]);
$time = $this->getmicrotime();
$puntuacion_total_SA=$this->soa->determinarPuntuacion($id_examen,$usuario[0],$fecha_examen,$tipo_examen);
$puntuacion_buenas+=$puntuacion_total_SA[0];
$puntuacion_total_buenas+=$puntuacion_total_SA[2];
array_push($this->desglose,$puntuacion_total_SA[1]);
$time = $this->getmicrotime();
$puntuacion_total_Marcar=$this->marcar->determinarPuntuacion($id_examen,$usuario[0],$fecha_examen,$tipo_examen);
$puntuacion_buenas+=$puntuacion_total_Marcar[0];
$puntuacion_total_buenas+=$puntuacion_total_Marcar[2];
array_push($this->desglose,$puntuacion_total_Marcar[1]);
$time = $this->getmicrotime();
$puntuacion_total_Completa=$this->completa->determinarPuntuacion($id_examen,$usuario[0],$fecha_examen,$tipo_examen);
$puntuacion_buenas+=$puntuacion_total_Completa[0];
$puntuacion_total_buenas+=$puntuacion_total_Comple ta[2];
array_push($this->desglose,$puntuacion_total_Completa[1]);
$time = $this->getmicrotime();
$puntuacion_total_Redaccion=$this->redaccion->determinarPuntuacion($id_examen,$usuario[0],$fecha_examen,$tipo_examen);
$puntuacion_buenas+=$puntuacion_total_Redaccion[0];
$puntuacion_total_buenas+=$puntuacion_total_Redacc ion[2];
array_push($this->desglose,$puntuacion_total_Redaccion[1]);
if($tipo_examen==0)
{
$total=$this->db->execute(sprintf('select count(preguntas.id) from preguntas,ejercicio,enunciados,composicion_examen, composicion_enunciado where preguntas.id_ejercicio=ejercicio.id and composicion_enunciado.id_enunciado=enunciados.id and composicion_enunciado.id_ejercicio=ejercicio.id and composicion_examen.id_enunciado=enunciados.id and composicion_examen.id_examen=%s ;',$id_examen));
}
else
{
$total=$this->db->execute(sprintf('select count(distinct substring(id_pregunta,1,4)) from resultado where id_examen=%s ;',$id_examen));
}
$buenas_auto_corr=0;
$total=0;

foreach($this->desglose as $des)
{
foreach($des as $d)
{
$puntuacion_buenas+=$d[3];
$buenas_auto_corr+=$d[5];
$total+=$d[6];
}
}
$time = $this->getmicrotime();
$corregido=($corregido_[0][0]==0 or count($corregido_)==0)? "no corregido":"corregido";
$output.=sprintf('<tr >
<td class="usuario_correcion">%s</td>
<td>%s de %s</td>
<td>
<div id="puntuacion_examen">
<div>Puntuacion Total:
</br>%s/%s</div>
<div><a href="javascript:void(0);" class="marcar_aprobado">Marcar como aprobado</a></div><br>
<div><a href="javascript:void(0);" class="marcar_borrado">Borrar Examen</a></div>
</div>
</td>
<td>
<div class="%s">%s</div></a>
</td>
</tr>
<tr>
<td colspan="4">',$usuario[0],$buenas_auto_corr,$total,$puntuacion_buenas,$punt uacion_total_buenas,str_replace(" ","_",$corregido),$corregido);
$output.=$this->desgloseTodo($id_examen,$fecha_examen,$usuario[0]);
}
$output.="</td></tr></table></td>";
return $output;
}
}
?>
  #5 (permalink)  
Antiguo 01/02/2010, 05:28
 
Fecha de Ingreso: febrero-2010
Mensajes: 13
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Problema Correcion de un examen en php

<?php
$in_files=get_included_files();

if(!in_array("db_handling.php",$in_files))
{

include "db_handling.php";
}
$db=new DB();
$examenes=$db->execute("SELECT `modelo_examen`.`id`,`nivel`.`titulo_nivel`,`model o_examen`.`comentario` FROM `modelo_examen`,`nivel`, `resultado`where `nivel`.id=`modelo_examen`.`nivel` and `resultado`.`id_examen`=`modelo_examen`.`id`");
$estudiantes=$db->execute("SELECT * FROM `usuario` where rol =3");
$fecha_hoy=date('Y-m-d');
$fecha_semana=date('Y-m-d');
$examenes_no_corregidos=$db->execute("SELECT DISTINCT `resultado`.`id_examen`,`resultado`.`fecha_examen` ,`modelo_examen`.`nivel`,`modelo_examen`.`comentar io`,`usuario`.`email`,`resultado`.`puntuacion`,`re sultado`.`identificador_unico` FROM `resultado`,`modelo_examen`,`nivel`,`usuario`, `agenda_examenes` where `resultado`.`id_examen`=`agenda_examenes` and `modelo_examen`.`id`=`resultado`.`id_examen` and `modelo_examen`.`nivel`=`nivel`.`id` and `agenda`.`corregido`=1 and`fecha_examen`<'".$fecha_hoy."' ORDER BY `identificador_unico` ASC limit 5 ");
$examenes_corregidos=$db->execute("SELECT DISTINCT `resultado`.`id_examen`,`resultado`.`fecha_examen` ,`modelo_examen`.`nivel`,`modelo_examen`.`comentar io`,`usuario`.`email`,`puntuacion`,`identificador_ unico` FROM `resultado`,`modelo_examen`,`nivel`,`usuario`,`age nda_examenes` where `resultado`.`id_examen`=`agenda_examenes` and `modelo_examen`.`id`=`resultado`.`id_examen` and `modelo_examen`.`nivel`=`nivel`.`id` and `fecha_examen`<'".$fecha_hoy."' and `agenda`.`corregido`=0 ORDER BY `fecha_examen` ASC limit 5");
?>
<html>
<head>
<script type="text/javascript" src="js/examen.correccion.interaccion.js"></script>

</head>
</body>
<h1><font color="grey">Correción de Examenes</font></h1>
<div style="height:900px;width:98%;overflow-y:scroll;font-size:130%;table-layout:fixed;font-weight:600">
<form id="form_parametros">
<input type="hidden" name="mostrar_modelo_examen" value=""/>
<input type="hidden" name="fecha_examen" value=""/>
<input type="hidden" name="identificador_unico" value=""/>
<input type="hidden" name="puntuacion" value=""/>
</form>
<fieldset>
<a href="javascript:void(0)" class="ver_corregidos"><font color="purple"> Corregidos </a></font><a href="javascript:void(0)" class="ver_no_corregidos"> <font color="purple">No Corregidos </font></a>
<div class="examenes_corregidos hide" style="height:300px;overflow-y:scroll" >
<table class="fidescu_table" >
<col/><col/><col/><col width="50%"/>
<tr ><td colspan="6">Examenes Corregidos</td></tr>
<tr>
<th>mod. Examen</th><th>Fecha</th><th >Descripción examen</th><th></th><th></th></tr>
<?php
if(count($examenes_corregidos)!=0)
{
foreach($examenes_corregidos as $examen_planificado)
{
$descripcion=html_entity_decode(utf8_decode($exame n_planificado[3]));


$descripcion=wordwrap($descripcion,20,'</br>');

if(strlen($descripcion)>40 and substr_count($descripcion," ")==0 )
{
$descripcion=chunk_split($descripcion,20,"<br/>");
}
$alumnos_participantes=$db->execute('select usuario.email,usuario.contrasena,resultado.puntuac ion from usuario,resultado,modelo_examen where resultado.id_usuario=usuario.id and modelo_examen.id='.$examen_planificado[0].' and resultado.fecha_examen="'.$examen_planificado[1].' ; "');
$tabla_participantes="";
foreach($alumnos_participantes as $alumno)
{
$tabla_participantes.=sprintf("<tr><td>%s </td><td>%s</td><td>%s</td></tr>",$alumno[0],$alumno[1],$alumno[2]);
}
printf('<tr><td>%s</td><td>%s</td><td><a href="javascript:void(0)" class="boton_mas_detalles_examen">+</a><p>%s</p><table class="fidescu_table hide">',$examen_planificado[0],date("d-m-y",strtotime($examen_planificado[1])),$descripcion);
print "<col width='80%'/><col width='20%'/>";
printf('<th>Alumno</th><th>Contraseña</th><th>Puntuacion</th></tr>
%s</table></td><td><input type="hidden" name="fecha_act_agenda" value="%s"/><a href="javascript:void(0)" class="boton_eliminar_examen_planeado">eliminar</a> </td><td><a href="javascript:void(0)" class="boton_modificar_examen_planeado"> clasificar</a></td>
</tr>',$tabla_participantes,date("Y-m-d",strtotime($examen_planificado[1])));
}
}
else
{print '<tr><td colspan="6">No se han tomado examenes.</td></tr>';}
?>
</table>
</div>
<div class="examenes_no_corregidos hide" style="height:300px;overflow-y:scroll" >
<table class="fidescu_table" >
<col/><col/><col/><col width="50%"/>
<tr ><td colspan="6">Examenes No Corregidos</td></tr>
<tr>
<th>mod. Examen</th><th>Fecha</th><th >Descripción examen</th><th></th><th></th></tr>
<?php
if(count($examenes_no_corregidos)!=0)
{
foreach($examenes_no_corregidos as $examen_planificado)
{
$descripcion=html_entity_decode(utf8_decode($exame n_planificado[3]));


$descripcion=wordwrap($descripcion,20,'</br>');

if(strlen($descripcion)>40 and substr_count($descripcion," ")==0 )
{
$descripcion=chunk_split($descripcion,20,"<br/>");
}
$alumnos_participantes=$db->execute('select usuario.email,usuario.contrasena,resultado.puntuac ion from usuario,resultado where resultado.id_usuario=usuario.id and resultado.id_examen='.$examen_planificado[0].' and resultado.fecha_examen="'.$examen_planificado[1].' ; "');
$tabla_participantes="";
foreach($alumnos_participantes as $alumno)
{
$tabla_participantes.=sprintf("<tr><td>%s %s</td><td>%s</td></tr>",$alumno[0],$alumno[1],$alumno[2]);
}
printf('<tr><td>%s</td><td>%s</td><td><a href="javascript:void(0)" class="boton_mas_detalles_examen">+</a><p>%s</p><table class="fidescu_table hide">',$examen_planificado[0],date("d-m-y",strtotime($examen_planificado[1])),$descripcion);
print "<col width='80%'/><col width='20%'/>";
printf('<th>Alumno</th><th>Contraseña</th><th>Puntuacion</th></tr>
%s</table></td><td><input type="hidden" name="fecha_act_agenda" value="%s"/><a href="javascript:void(0)" class="boton_eliminar_examen_planeado">eliminar</a> </td><td><a href="javascript:void(0)" class="boton_modificar_examen_planeado"> clasificar</a></td>
</tr>',$tabla_participantes,date("Y-m-d",strtotime($examen_planificado[1])));
}
}
else
{print '<tr><td colspan="6">No se han tomado examenes.</td></tr>';}
?>
</table>
</div>
</fieldset>
</form>
<table style="background-color:#FFFFFF" class="fidescu_table" style="width:98%; color:black" >
<col/>
<col width="220" style="border-left:1px black solid ;border-right:1px black solid"/>
<col width="100" style="border-right:1px black solid"/>
<col />
<tr>
<th width="50px"></th>
<th></th>
<th>Fecha</br>impartición</th>
<th>Descripción</th>
<th></th>
</tr>
<?php
$examenes_por_fecha=$db->execute('select fecha_examen,nivel.titulo_nivel,id_examen,usuario. email,identificador_unico, resultado.puntuacion from resultado,nivel,modelo_examen,usuario where resultado.id_examen In (select `id_examen` from `resultado` where id_examen between 346 and 365) and modelo_examen.id=resultado.id_examen and modelo_examen.nivel=nivel.id and resultado.id_usuario=usuario.id group by identificador_unico;');
$output="";
$num_examen=1;
$clase="impar";
foreach($examenes_por_fecha as $examen)
{
$id_examen=$examen[2];
$fecha_examen=$examen[0];
$nivel=$examen[1];
$puntuacion=$examen[5];
$identificador_unico=$examen[4];

if($clase=="impar")
{
$clase="par";
}
else
{
$clase="impar";
}

$output.=sprintf('<tr class="%s registro_examen"><td><a href="javascript:void(0);" class="boton_mostrar_tabla tabla_numero" meta="%s" >%s</a></td><td><a href="javascript:void()" meta="%s" class="boton_ver_modelo_examen">Ver Modelo Examen:%s</a></td><td><div id="fecha_examen" meta="%s">%s</div></td><td><input type="hidden" class="identificador_unico_examen" name="identificador_unico_examen" value="%s"/></td><td>%s</td></tr>',$clase,$id_examen,$num_examen,$id_examen,$id_ examen,$fecha_examen,strftime('%Y-%m-%d',strtotime($fecha_examen)),$identificador_unico ,$nivel);

$num_examen++;
}
print $output;




?>

</div>
</table>
<p id="loading" style="position:fixed;top:45%;left:0;px;width:110% ;height:50px;z-index:3;display:none;text-align:center"><b style="border:solid white 3px;background-color:#A6C9E2;-moz-border-radius:6px;font-size:120%;padding:0.6em;color:white">Cargando...</b></p>
</body>

<style type="text/css">
.hidden{display:none}
.tabla_numero{font-weight:bold;font-size:145%}
.par
{
background-color:silver;color:white
}
.impar
{
background-color:silver;color:white
}

div.corregido{font-weight:bold;font-size:1.1em;color:green}
div.no_corregido{font-weight:bold;font-size:1.1em;color:red;}
.marcar_no_corregido{-moz-border-radius:3em;background-color:blue;color:white;}
.marcar_borrado{-moz-border-radius:3em;background-color:blue;color:white;} .marcar_aprobado{-moz-border-radius:3em;background-color:blue;color:white;}


</style>
</html>
  #6 (permalink)  
Antiguo 01/02/2010, 05:29
 
Fecha de Ingreso: febrero-2010
Mensajes: 13
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Problema Correcion de un examen en php

¿Sabeis de algun ejemplo de examen virtual que pudiera ayudarme?¿O alguna manera de hacerlo mas fácil? Estoy un poquito agobiado porque necesito acabarlo cuanto antes. Muchas gracias a todos
  #7 (permalink)  
Antiguo 08/02/2010, 00:33
Avatar de enriqueplace  
Fecha de Ingreso: mayo-2005
Ubicación: Uruguay / Argentina
Mensajes: 1.102
Antigüedad: 18 años, 10 meses
Puntos: 32
Respuesta: Problema Correcion de un examen en php

No entiendo, ¿estás pidiendo que nosotros te hagamos el examen?
__________________
Blog phpsenior.com Cursos a Distancia surforce.com
  #8 (permalink)  
Antiguo 08/02/2010, 03:59
 
Fecha de Ingreso: febrero-2010
Mensajes: 13
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Problema Correcion de un examen en php

No, yo no estoy pidiendo que me lo hagais, sino si sabeis de alguna forma de hacerlo mejor o si alguien sabe xq me falla
  #9 (permalink)  
Antiguo 08/02/2010, 16:49
Avatar de enriqueplace  
Fecha de Ingreso: mayo-2005
Ubicación: Uruguay / Argentina
Mensajes: 1.102
Antigüedad: 18 años, 10 meses
Puntos: 32
Respuesta: Problema Correcion de un examen en php

¿Puedes enviar la url para conocer el exámen que están intentando hacer?
__________________
Blog phpsenior.com Cursos a Distancia surforce.com

Etiquetas: examen
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 03:42.