Código de PHP - sistema para crear examen online

sistema para crear examen onlinegráfica de visualizaciones


PHP

estrellaestrellaestrellaestrellaestrella(46)
Publicado el 30 de Abril del 2009 por Pedro
42.026 visualizaciones desde el 30 de Abril del 2009. Una media de 112 por semana
sistema para crear en examen en linea con las siguientes características:
a) debe validar la entrada de usuario usando login y password
b) cuantos enunciados se utilizaran para el examen
c) cada enunciado puede formarse pregunta texto abierta o una imagen precargada
d) cada respuesta debe ser expresada con respuestas múltiples o texto abierto
e) debe ser almacenada en bd
f) al finalizar el examen el sistema debe presentar la imagen, calificación, matricula y nombre
g) deben generar las preguntas aleatoriamente.

Versión 1
estrellaestrellaestrellaestrellaestrella(46)

Publicado el 30 de Abril del 2009gráfica de visualizaciones de la versión: Versión 1
42.027 visualizaciones desde el 30 de Abril del 2009. Una media de 112 por semana
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

Si alguno de los archivos de descarga no funciona, comentanos aquí el error.




Comentarios sobre la versión: Versión 1 (46)

Pedro Cardoso Rdz
19 de Diciembre del 2010
estrellaestrellaestrellaestrellaestrella
Soy el autor del codigo, mi comentario es para comunicar que hoy 18-dic-2010 encontre un error en este codigo, en el archivo califica.php linea num 54
$consulta = mysql_query("select idr from corresponde where idp='$preg[$cju] and sipi=1'",$conexion);
lo correcto debe ser:
$consulta = mysql_query("select idr from corresponde where idp=$preg[$cju] and sipi=1",$conexion);

Agradecimientos a: AFP quien me aviso del efecto que permitio detectar este error.
Responder
Elio Espinoza
14 de Junio del 2016
estrellaestrellaestrellaestrellaestrella
hermano necesito que me expliques que hace cada ciclo for que no lo entiendo muy bien que hacen
Responder
hugo
25 de Junio del 2016
estrellaestrellaestrellaestrellaestrella
Esto me solucionó el que no me calificaba con las respuestas correctas. Código funcionando correctamente.
Gracias
Responder
guillermo
24 de Marzo del 2011
estrellaestrellaestrellaestrellaestrella
disculpa pero tengo una duda que es lo que quiere decir sipi, aun no le entiendo.
Responder
ernesto
29 de Abril del 2011
estrellaestrellaestrellaestrellaestrella
Hola, descargue tu codigo y me parece genial que lo hayas subido. Ahora quiero subir la bd, y no me la crea. La estoy importando con HeidiSQL, solo crea la bd y no crea las tablas. Que puedo hacer.

Gracias.
Responder
Ricardo Benítez
25 de Marzo del 2016
estrellaestrellaestrellaestrellaestrella
Esto es porque en el script tienes que quitar las líneas de comentarios
Responder
Alejandro
01 de Junio del 2011
estrellaestrellaestrellaestrellaestrella
Hermano se repiten demasiado option button
Responder
Mariana
02 de Junio del 2011
estrellaestrellaestrellaestrellaestrella
Me gustaria saber como ingresas los datos a la base de datos en la tabla respuesta no la entiendo
Responder
danvarg
11 de Julio del 2011
estrellaestrellaestrellaestrellaestrella
hola, me parece muy interesante el sistema que desarrollaste, pero cuando quiero inresar con un nombre registrado me sale el siguiente error:
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in \examen.php on line 29

espero me puedas ayudar a resolver este problema
Responder
fatima
13 de Agosto del 2011
estrellaestrellaestrellaestrellaestrella
Holitas me parece muy bueno tu codigo todo funciono a la perfeccion
graciasssssssssssssssssssss
Responder
sebastian
23 de Agosto del 2011
estrellaestrellaestrellaestrellaestrella
Buenas noches excelente el codigo pero que es sipi les agradeceria me respondieran

muchas gracias
Responder
Pedro Cardoso Rdz
04 de Septiembre del 2011
estrellaestrellaestrellaestrellaestrella
Hola.
guillermo y sebastian: sipi es una columna de la tabla corresponde, que relaciona las preguntas con las respuestas, cuando sipi vale 1 indica que esa respuesta es la correcta para esa pregunta.
ernesto: Nunca he trabajado con heidiSQl no que que decirte.
Alejandro: ¿no entiendo que quieres decir?
Mariana: el sistema solo es una demostracion no esta completo con panel de administracion, para ingresar datos en la bd tendrias que hacerlo manual desde consola o desde phpmyadmin
fatima: gracias.
danvarg: pues no me sale ese error, que version de php usas?

A todos: en el codigo va mi direccion de correo con confianza pueden escribirme ya que aqui en los comentarios tenia mucho que no pasaba y no se cuando vuelva a pasar y por lo tanto no me enteraba de sus dudas. Saludos,
Responder
Juan Marin
17 de Febrero del 2012
estrellaestrellaestrellaestrellaestrella
Está excelente su código me sirvió muchísimo felicitaciones lo he implementado y me sale a la perfección. Quiero saber si es posible guardar los datos de las respuestas en la BD. Para después extraer esa info. Gracias por compartir el código y su conocimiento.
Responder
jhonny
28 de Febrero del 2012
estrellaestrellaestrellaestrellaestrella
Agradezco el aporte, lo necesito al 100 %, pero no me crea las tablas con wamp server 5.
Responder
Richard Ortega
08 de Marzo del 2012
estrellaestrellaestrellaestrellaestrella
Buen día, quisiera saber como configurar el con la base de datos de un hosting gratuito
Responder
GUILLERMO DANIEL
29 de Mayo del 2012
estrellaestrellaestrellaestrellaestrella
me parece bueno tu aporte pero como harias para validar el boton de calificar(algo como "estas seguro de calificar"")
Responder
Guillermo
31 de Mayo del 2012
estrellaestrellaestrellaestrellaestrella
para mayors de 400 usuarios se pierde la nota
Responder
daniel
20 de Julio del 2012
estrellaestrellaestrellaestrellaestrella
hola me puedes ayudar me sale este problema!! estoy utilizando appserv

Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 6 in C:\AppServ\www\sitios\examen2\examen.php on line 59

Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 7 in C:\AppServ\www\sitios\examen2\examen.php on line 62
1)

Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 9 in C:\AppServ\www\sitios\examen2\examen.php on line 76


Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 10 in C:\AppServ\www\sitios\examen2\examen.php on line 76


Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 11 in C:\AppServ\www\sitios\examen2\examen.php on line 76



Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 15 in C:\AppServ\www\sitios\examen2\examen.php on line 76
Responder
Salvador rosales
16 de Agosto del 2012
estrellaestrellaestrellaestrellaestrella
Hola muy bueno este proyecto disculpa que te moleste pero soy nuevo en esto y no le entiendo muy bien solo keria hacerte unas preguntitas :)
primera puedes poner el codigo para poner mas preguntas
segunda puedes poner un contador de tiempo :)
Responder
Cesar
17 de Octubre del 2012
estrellaestrellaestrellaestrellaestrella
Re bueno el codigo
el unico problema es que las respuestas siempre me salen en el mismo orden es decir la primera opcion siempre es la respuesta, mas bien necesito que me pueda mostrar las respuestas correctas aleatorias. mi codigo esta tal cual el tuyo.
a ver si me ayudas con ese tema gracias
aca esta mi codigo
examen.php


<?
$user = (isset($_POST['user'])?$_POST['user']:NULL);
$pass = (isset($_POST['pss'])?$_POST['pss']:NULL);
$numPregs = 10;
$pcomerciales = 1;
$pefectividad = 1;
include("conexion.php");
$link = Conectarse();
if(!$link){
echo "<p>Error: No se puede conectar al servidor</p>\n";
}
else{
$bd = mysql_select_db("catbampc_examenes",$link);
if(!$bd){
echo "<p>Error: No se pudo seleccionar la bd</p>\n";
}
else if($user==null || $pass==null){
echo "<p>Error: Datos de login nulos<br>\n";
}
else{
$nombre = mysql_query("select nombre, ape_pat from usuarios where matricula='$user' and password='$pass'",$link);
$presento = mysql_query("select presento from usuarios where matricula='$user' and password='$pass'",$link);
if(mysql_num_rows($nombre)<=0){
echo "<p>Autentificacion incorrecta<br>\n";
}
else if(mysql_result($presento,0,'presento')==1){
echo "<p>El agente ".mysql_result($nombre,0,'nombre')." con rut $user ya presento este examen<br>\n";
}
else{
echo "<h2> Examen de Cat</h2>\n";
echo "<p>Bienvenido ".mysql_result($nombre,0,'nombre')." ".mysql_result($nombre,0,'ape_pat')."
</p>\n";
?>
Tiempo <label id = "clock"></label> segundos. (suerte)
<?
// seleccionar las preguntas aleatoriamente
$pregsInBD = mysql_query("select count(idp) as 'num' from preguntas",$link);
$pregsExistentes = mysql_result($pregsInBD,0,'num');
for($r=0;$r<$numPregs;$r++) $vector[$r]=0;
for($r=0;$r<$numPregs;$r++){
$alea=rand(1,$pregsExistentes);
$bandera=true;
for($f=0;$f<$r;$f++)
if($vector[$f]==$alea){
$bandera=false;
break;
}
if(!$bandera){ $r--; continue; }
$vector[$r]=$alea;
}
echo '<form name="form" action="califica.php" method="post">'."\n";
for($r=0;$r<$numPregs;$r++){
$pregActu = mysql_query("select preguntas from preguntas where idp='$vector[$r]'",$link);
$txtPregActu = mysql_result($pregActu,0,'preguntas');
$tpPreg = mysql_query("select tipo from preguntas where idp='$vector[$r]'",$link);
$tipoPreg = mysql_result($tpPreg,0,'tipo');
echo "<p>\n";
?>
<div style="font-weight:bold; font-family: tahoma; ">
<?
echo "".($r+1).") ".$txtPregActu;
?>
</div>
<?

$consOps = mysql_query("select idr from corresponde where idp='$vector[$r]'",$link);
$numResp = mysql_num_rows($consOps);
echo "\n<br>";
echo ' <input type="hidden" name="preg'.($r+1).'" value="'.$vector[$r].'">'."\n";
for($hui=0;$hui<$numResp;$hui++){
$consResp = mysql_query("select respuesta from respuestas where idr='".mysql_result($consOps,$hui,'idr')."' order by rand(idr)",$link);
$valor= mysql_result($consResp,0,'respuesta');

echo '<input type="radio" name="'.$r.'" value="'.$valor.'">'.$valor."<br>\n";
}

echo "</p>\n";
}
echo '<input type="hidden" name="mat" value="'.$user.'">'."\n";
echo '<input type="submit" value="Calificar">'."\n";
echo '</form>'."\n";
mysql_Close($link);
}
}
}
?>

------
adicionalmente desearia saber como puedo agregar diferentes categorias de examen es decir necesito 8 preguntas de un tipo 1 de otro tipo y otra de otro tipo , todas son abiertas pero se diferencias en bd que en ella se agrego una columna llamada forma con t (tecnico) c(comercial) y e(efectividad) segun la pregunta. gracias
Responder
WILLIAMS A.L
23 de Marzo del 2013
estrellaestrellaestrellaestrellaestrella
BUEN CODIGO PERO AMI NO ME CORRE ME APARECE LO SIGUIENTE: examen.php
=10 preguntas $conexion = mysql_connect("localhost","root",""); if(!$conexion){ echo "

Error: No se puede conectar al servidor
\n"; } else{ $bd = mysql_select_db("examenes",$conexion); if(!$bd){ echo "

Error: No se pudo seleccionar la bd
\n"; } else if($user==null || $pass==null){ echo "

Error: Datos de login nulos
\n"; echo " Regresar al homie ese
\n"; } else{ $nombre = mysql_query("select nombre from usuarios where matricula='$user' and password='$pass'",$conexion); $presento = mysql_query("select presento from usuarios where matricula='$user' and password='$pass'",$conexion); if(mysql_num_rows($nombre)<=0){ echo "

Autentificacion incorrecta
\n"; echo " Regresar al homie ese
\n"; } else if(mysql_result($presento,0,'presento')==1){ echo "

El alumno ".mysql_result($nombre,0,'nombre')." matricula $user ya presento este examen
\n"; echo " Regresar al homie ese
\n"; } else{ echo "
Examen de conocimientos de variedades
\n"; echo "

Bienvenido alumno ".mysql_result($nombre,0,'nombre')."
\n"; // seleccionar las preguntas aleatoriamente $pregsInBD = mysql_query("select count(idp) as 'num' from preguntas",$conexion); $pregsExistentes = mysql_result($pregsInBD,0,'num'); for($r=0;$r<$numPregs;$r++) $vector[$r]=0; for($r=0;$r<$numPregs;$r++){ $alea=rand(1,$pregsExistentes); $bandera=true; for($f=0;$f<$r;$f++) if($vector[$f]==$alea){ $bandera=false; break; } if(!$bandera){ $r--; continue; } $vector[$r]=$alea; } // cargar las preguntas echo '
'."\n"; for($r=0;$r<$numPregs;$r++){ $pregActu = mysql_query("select preguntas from preguntas where idp='$vector[$r]'",$conexion); $txtPregActu = mysql_result($pregActu,0,'preguntas'); $tpPreg = mysql_query("select tipo from preguntas where idp='$vector[$r]'",$conexion); $tipoPreg = mysql_result($tpPreg,0,'tipo'); echo "

\n"; echo "".($r+1).") ".$txtPregActu; if($tipoPreg==1){ // abierta echo ' '."\n"; echo ' '."\n"; } else{ // multiopcion $consOps = mysql_query("select idr from corresponde where idp='$vector[$r]'",$conexion); $numResp = mysql_num_rows($consOps); echo "\n
"; echo ' '."\n"; for($hui=0;$hui<$numResp;$hui++){ $consResp = mysql_query("select respuesta from respuestas where idr='".mysql_result($consOps,$hui,'idr')."'",$conexion); $valor= mysql_result($consResp,0,'respuesta'); echo ''.$valor."
\n"; } } echo "
\n"; } echo ''."\n"; echo ''."\n"; echo '
'."\n"; mysql_Close($conexion); } } } ?>
Responder
Yorch
30 de Mayo del 2013
estrellaestrellaestrellaestrellaestrella
Hola amigo. interesante tu programa pero me sale el mismo error que a Williams, cual es el error que se tiene en el código de examen, espero y puedas responder.

gracias
Responder
racso
09 de Julio del 2013
estrellaestrellaestrellaestrellaestrella
excelente programa gracias muchas dudas se me resolvieron saludos
Responder
racso
15 de Julio del 2013
estrellaestrellaestrellaestrellaestrella
puedes decirme como ponerle tiempo para que se cierre el examen y se guarde en la base de datos
Responder
luiscarlos
02 de Abril del 2014
estrellaestrellaestrellaestrellaestrella
excelente codigo la vda te luciste estoy estudiando todo sobre la web y no me habia tocado ver un codigo asi
la vda todo sale a la perfeccion y para el chavo que solo dice que solo acepta 400 alumnos lo puedes aumentar si le modificas algunos codigos
y algunos limitantes en la base de datos :)
Responder
luiscarlos
02 de Abril del 2014
estrellaestrellaestrellaestrellaestrella
para el error que menciona Yorch
solo checa que al inicio venga
<?php
eso es lo que hace que falle el codigo examen.php y califica.php
Responder
kryztan
18 de Abril del 2014
estrellaestrellaestrellaestrellaestrella
y si no kiero que las preguntas m salgan aleatoriamente si no k m acomode aparte las preguntas abiertas y aparte las de opcion multiple
Responder
pablo
11 de Junio del 2014
estrellaestrellaestrellaestrellaestrella
y si no kiero que las preguntas m salgan aleatoriamente si no k m acomode aparte las preguntas abiertas y aparte las de opcion multiple
Responder
Miler
28 de Noviembre del 2014
estrellaestrellaestrellaestrellaestrella
el script esta super bueno, pero tengo algunas dudas.

Tengo dos preguntas.
1ro Como migro este examen a php orientado a objeto.
2do Como lo monto sobre un frameworks
Responder
JORGE
11 de Febrero del 2015
estrellaestrellaestrellaestrellaestrella
muchas gracias amigo, me sirvio de mucho y es lo que estaba buscando.
gracias por compartir este ejemplo
saludos y me funciona de maravilla
Responder
pedro 2.0
21 de Mayo del 2016
estrellaestrellaestrellaestrellaestrella
jorge explicame como te funciono,

ya logre crear la base de datos, cuando realizo el login no me abre el examen, me sales los mensaje de echo y no el examen:

Error: No se puede conectar al servidor
\n"; } else{ $bd = mysql_select_db("catbampc_examenes",$link); if(!$bd){ echo "
Error: No se pudo seleccionar la bd

\n"; } else if($user==null || $pass==null){ echo "
Error: Datos de login nulos
\n"; } else{ $nombre = mysql_query("select nombre, ape_pat from usuarios where matricula='$user' and password='$pass'",$link); $presento = mysql_query("select presento from usuarios where matricula='$user' and password='$pass'",$link); if(mysql_num_rows($nombre)<=0){ echo "

Autentificacion incorrecta
\n"; } else if(mysql_result($presento,0,'presento')==1){ echo "

El agente ".mysql_result($nombre,0,'nombre')." con rut $user ya presento este examen
\n"; } else{ echo "


explicame o enviame tu proyecto para ver en donde radica mi error.
Responder
Jonathan
17 de Marzo del 2015
estrellaestrellaestrellaestrellaestrella
muy buen programa, pero me sale un error en la calificación, No califica bien, le cambie la linea
$consulta = mysql_query("select idr from corresponde where idp=$preg[$cju] and sipi=1",$conexion);

y queda igual.
Responder
dey
27 de Abril del 2015
estrellaestrellaestrellaestrellaestrella
cual es usuario y en password ... por favor
Responder
José
14 de Junio del 2015
estrellaestrellaestrellaestrellaestrella
en lugar de mysql_result();
Cuál utilizo?
Responder
Marta
28 de Julio del 2015
estrellaestrellaestrellaestrellaestrella
Alguien sabe como aumentar las veces que pueda hacer un mismo alumno el test? Ya que ahora sólo se puede hacer 1 vez. Y si se puede cambiar esto, entonces, como se pone el contador para que vaya contando las veces que entra?

Gracias por adelantado!!!
Responder
Orlando
27 de Agosto del 2015
estrellaestrellaestrellaestrellaestrella
Hola muchas gracias por la explicación todo me funciona excepto lo siguiente

Warning: mysql_result() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\examen\examen.php on line 33
Responder
Luis B
23 de Octubre del 2015
estrellaestrellaestrellaestrellaestrella
Alguien sabe como desactivar la opción aleatoria al cargar las preguntas? agradecería puedan ayudarme.. Saludos y felicidades al autor por este excelente codigo
Responder
Juan
13 de Enero del 2016
estrellaestrellaestrellaestrellaestrella
Excelente código, todo me funciona bien, pero como puedo agregar más preguntas en la calificación
Responder
pedro 2.0
21 de Mayo del 2016
estrellaestrellaestrellaestrellaestrella
socio, a mi no me me funciona los archivos emanen y califica,

cuando los abro salen los mensajes de echo

"Error: No se puede conectar al servidor
\n"; } else{ $bd = mysql_select_db("catbampc_examenes",$link); if(!$bd){ echo "
Error: No se pudo seleccionar la bd

\n"; } else if($user==null || $pass==null){ echo "

NO ME SALE EL EXAMEN
Responder
Juan Ortiz
27 de Abril del 2016
estrellaestrellaestrellaestrellaestrella
Es un excelente codigo,i pregunta que funcion cumple el campo tipo en la tabla preguntas,muchas gracias
Responder
Brian Ipanaque
03 de Mayo del 2016
estrellaestrellaestrellaestrellaestrella
Estimado.
podrías proporcionarme el código fuente, he estado buscando esto por mucho tiempo.

De antemano muchas gracias.
Responder
Sergio
04 de Mayo del 2016
estrellaestrellaestrellaestrellaestrella
No logro crear la Base de datos, por mas que le he borrado los comentarios sigue igual, AYUDA POR FAVOR

create database examenes;
create table usuarios(matricula char(8), password varchar(15), nombre varchar(25), calif smallint, presento boolean, primary key(matricula));
create table preguntas(idp integer, preguntas varchar(74), tipo integer, primary key(idp));
create table respuestas(idr integer, respuesta varchar(40), primary key(idr));
create table corresponde(sipi boolean, idp integer, idr integer);
GRANT USAGE ON * . * TO 'userExamen'@'localhost' IDENTIFIED BY 'passExamen' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0;
GRANT SELECT , UPDATE ON `examenes` . * TO 'userExamen'@'localhost';
insert into usuarios values ('20202010', 'tomalas', 'pedro', 0, 0);
insert into usuarios values ('20122010', 'frias', 'jorge', 0, 0);
insert into usuarios values ('28202110', 'caguamas', 'humberto', 0, 0);
insert into usuarios values ('27292010', 'corona', 'elias', 0, 0);
insert into usuarios values ('21202015', 'modelo', 'cesar', 0, 0);
insert into usuarios values ('28202310', 'victoria', 'patty', 0, 0);
insert into usuarios values ('24202010', 'chaparra', 'claudia', 0, 0);
insert into usuarios values ('27202010', 'tomaaas', 'lupe', 0, 0);
insert into usuarios values ('26202910', 'chompetas', 'colossus', 0, 0);
insert into usuarios values ('20902710', 'greñas', 'macario', 0, 0);
insert into preguntas values (1,'cual es numero de puerto del protocolo http',2);
insert into preguntas values (2,'de que color es el caballo blanco de napoleon',2);
insert into preguntas values (3,'que utiliza para convertir funciones de dominio del tiempo a la frecuencia',2);
insert into preguntas values (4,'desarrolle el siguiente producto (a+b)^2',2);
insert into preguntas values (5,'escriba la definicion de direccion ip de tipo c',2);
insert into preguntas values (6,'que significa raid',2);
insert into preguntas values (7,'siglas de los tres colores primarios',1);
insert into preguntas values (8,'cual es la funcion del sistema operativo',1);
insert into preguntas values (9,'cual es el nombre del superusuario en linux',1);
insert into preguntas values (10,'como se llama el papa de timi turner',1);
insert into preguntas values (11,'es correcto el termino "cederrón" para definir a un cd',1);
insert into preguntas values (12,'por que la manzana de Apple computers esta mordida?',1);
insert into respuestas values (1,'80');
insert into respuestas values (2,'120');
insert into respuestas values (3,'18');
insert into respuestas values (4,'21');
insert into respuestas values (5,'negro');
insert into respuestas values (6,'blanco');
insert into respuestas values (7,'gris');
insert into respuestas values (8,'no tiene');
insert into respuestas values (9,'brujeria');
insert into respuestas values (10,'transformada de furier');
insert into respuestas values (11,'transformada de la place');
insert into respuestas values (12,'a^2+2ab+b^2');
insert into respuestas values (13,'a*2');
insert into respuestas values (14,'a+b+2*a');
insert into respuestas values (15,'255.255.255.255');
insert into respuestas values (16,'192.255.255.255');
insert into respuestas values (17,'10.11.12.13');
insert into respuestas values (18,'insectisida efectivo');
insert into respuestas values (19,'random aleatory inexpensive disk');
insert into respuestas values (20,'rayos asesinos intra dolorosos');
insert into respuestas values (21,'no se ponme cero');
insert into respuestas values (22,'RGB');
insert into respuestas values (23,'gestionar los recursos de una maquina');
insert into respuestas values (24,'root');
insert into respuestas values (25,'papa');
insert into respuestas values (26,'si');
insert into respuestas values (27,'steve jobs asi dijo');
insert into corresponde values (1,1,1);
insert into corresponde values (0,1,2);
insert into corresponde values (0,1,3);
insert into corresponde values (0,1,4);
insert into corresponde values (1,2,5);
insert into corresponde values (0,2,6);
insert into corresponde values (0,2,7);
insert into corresponde values (0,2,8);
insert into corresponde values (1,3,9);
insert into corresponde values (0,3,10);
insert into corresponde values (0,3,11);
insert into corresponde values (1,4,12);
insert into corresponde values (0,4,13);
insert into corresponde values (0,4,14);
insert into corresponde values (0,5,15);
insert into corresponde values (1,5,16);
insert into corresponde values (0,5,17);
insert into corresponde values (0,6,18);
insert into corresponde values (1,6,19);
insert into corresponde values (0,6,20);
insert into corresponde values (0,6,21);
insert into corresponde values (1,7,22);
insert into corresponde values (1,8,23);
insert into corresponde values (1,9,24);
insert into corresponde values (1,10,25);
insert into corresponde values (1,11,26);
insert into corresponde values (1,12,27);
Responder
Elio Espinoza
14 de Junio del 2016
estrellaestrellaestrellaestrellaestrella
hermano necesito que me expliques como funciona paso a paso cada ciclo for (que hacen cada uno)
Responder
hugo
24 de Junio del 2016
estrellaestrellaestrellaestrellaestrella
muy buen funciona muy bien.
Responder
stanly alcias
12 de Octubre del 2016
estrellaestrellaestrellaestrellaestrella
el codigo funciona bien en mysql pero me gustaria hacerlo en orcle me podrian ayudar lo intentado hacer pero no salen las preguntas este es el codigo
<?php
$user = (isset($_POST['user'])?$_POST['user']:NULL);
$pass = (isset($_POST['pss'])?$_POST['pss']:NULL);
$numPregs=9; // asegurarse q la bd tenga>=10 preguntas
$conexion =OCILogon("sige", "3ducat10n1526","dbprod1");
$nombre =OCIParse($conexion,"select nombre from usuario where matricula='$user' and password='$pass'");
OCIExecute($nombre,OCI_DEFAULT);
$presento =OCIParse($conexion,"select presento from usuario where matricula='$user' and password='$pass'");
OCIExecute($presento,OCI_DEFAULT);
if(OCIFetch($nombre)<=0){
echo "<p>Autentificacion incorrecta<br>\n";
echo "<a href=\"Index.php\"> Regresar al inicio</a> </p>\n";
}
else if(OCIresult($presento,0)==1){
echo "<p>El alumno ".OCIresult($nombre,0)."matricula='$user' ya presento este examen<br>\n";
echo "<a href=\"Index.php\"> Regresar </a> </p>\n";
}
else{
echo "<h2> Examen Prueba</h2>\n";
echo "<p>Bienvenido alumno".OCIresult( $nombre, "NOMBRE")."</p>\n";
// seleccionar las preguntas aleatoriamente
$pregsInBD=OCIParse($conexion,"select count(idp) as num from pregunta");
OCIExecute($pregsInBD,OCI_DEFAULT);
$pregsExistentes=OCIresult($pregsInBD,"NUM");
echo $pregsInBD;
for($r=0;$r<$numPregs;$r++)$vector[$r]=0;

for($r=0;$r<$numPregs;$r++){

$bandera=true;
for($f=0;$f<$r;$f++)

if(!$bandera){ $r--; continue; }
$vector[$r]= $pregsExistentes;
}
// cargar las preguntas
echo '<form action="califica.php" method="post">'."\n";
for($r=0;$r<$numPregs;$r++){

$pregActu=OCIParse($conexion,"select preguntas from pregunta where idp='$vector[$r]'");
OCIExecute($pregActu,OCI_DEFAULT);
$txtPregActu=OCIresult($pregActu,"PREGUNTAS");

$tpPreg=OCIParse($conexion,"select tipo from pregunta where idp='$vector[$r]'");
OCIExecute($tpPreg,OCI_DEFAULT);
$tipoPreg=OCIResult($tpPreg,"TIPO");

echo "<p>\n";
echo "".($r+1).")".$txtPregActu;

if($tipoPreg==1){ // abierta
echo ' <input type="text" name="'.$r.'">'."\n";
echo ' <input type="hidden" name="preg'.($r+1).'" value="'.$vector[$r].'">'."\n";
}
else{ // multiopcion
$consOps = OCIParse($conexion,"select idr from corresponden where idp='$vector[$r]'");
OCIExecute($consOps,OCI_DEFAULT);
$numResp=ocinumcols($consOps);
echo "\n<br>";
echo ' <input type="hidden" name="preg'.($r+1).'" value="'.$vector[$r].'">'."\n";
for($hui=0;$hui<$numResp;$hui++){
$consResp=OCIParse($conexion,"select respuesta from respuesta where idr='".OCIresult($consOps,$hui)."'");

OCIExecute($consResp,OCI_DEFAULT);
$valor=OCIResult($consResp,"RESPUESTA");
echo '<input type="radio" name="'.$r.'" value="'.$valor.'">'.$valor."<br>\n";
}
}
echo "</p>\n";
}
echo '<input type="hidden" name="mat" value="'.$user.'">'."\n";
echo '<input type="submit" value="Calificar">'."\n";
echo '</form>'."\n";
oci_Close($conexion);
}


?>
Responder
chacha
13 de Octubre del 2016
estrellaestrellaestrellaestrellaestrella
oies discula aguien que me ayude los archivos examen y calfica no me funciona
Responder

Comentar la versión: Versión 1

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios

http://lwp-l.com/s1791