Ver Mensaje Individual
  #4 (permalink)  
Antiguo 14/04/2008, 07:24
cmarrero
(Desactivado)
 
Fecha de Ingreso: enero-2008
Ubicación: Mendoza
Mensajes: 458
Antigüedad: 16 años, 3 meses
Puntos: 2
Re: Consulta SQL complicada... AYUDA

Bien, gracias por responder lo he solucionado de la siguiente forma...

Código PHP:
include("../../../../include/conexion.php");
conectar();

$iduser1;
$consulta mysql_query("SELECT DISTINCT e.iduser, a.nombre FROM examen e INNER JOIN alumno a ON e.iduser = a.iduser WHERE e.iduser = '$iduser' ORDER BY nombre ");
while (
$row=mysql_fetch_array($consulta))
            {

echo 
"".$row['nombre']."";

$con mysql_query("SELECT p.pregunta, r.respuesta, e.correcta, e.usuario, e.fecha, e.iduser FROM examen e INNER JOIN respuestas r ON e.idrespuesta =  r.idrespuesta INNER JOIN preguntas p ON p.idpregunta = r.idpregunta WHERE e.iduser=$iduser ORDER BY p.idpregunta");
$total_registros=mysql_num_rows($con);
$lp NULL;
while (
$p mysql_fetch_array($con))

{  
if(
$p['pregunta']!=$lp){
echo 
"<br><br>".$p['pregunta']."<br />";
$lp $p['pregunta'];
}
echo 
"<br>".$p['respuesta']."";

if (
$p['usuario']=="1" and $p['correcta']=="1") {
    echo 
"Es Correcta<br>";
    }    elseif (
$p['usuario']=="0" and $p['correcta']=="1") {
            echo 
"Es Incorrecta<br>";
            }    elseif (
$p['usuario']=="1" and $p['correcta']=="0") {
                echo 
"Es Incorrecta<br>";
                }    elseif (
$p['usuario']=="0" and $p['correcta']=="0") {
                    echo 
"Es Incorrecta<br>";
                    }    elseif (
$p['usuario']=="2") {
                         echo 
"No respondio<br>";
                        }
    }  
}
desconectar(); 
Se que no es de lo mejor, y tampoco es lo mas optimo, pero estoy estudiando php a medida que en mi trabajo lo necesito. y como estoy medio apretado con los tiempos estoy medio complicado para hacer algo optimizado...

Ahora tengo otra consulta que hacer... espero que me la puedan solucionar...

Esta consulta como veran en la ultima parte me fijo si el usuario ha respondido en forma correcta, incorrecta o si no ha respondido.. aqui tengo un problema, las respuestas correctas tienen el valor "1" las incorrectas "0" y las que no responde "2". Necesito hacer la sumatoria del puntaje, pero mi problema es que como existe n varias respuestas para cada pregunta no puedo hacer una consulta sencilla. ya que se trata de checbox y el usuario podria haber respondido a todas las preguntas y aprobaria el examen, por mas que haya respondido tambien las incorrectas.

Me puden ayudar con este ultimo temita....

PD// podria ser crear una tabla con la cantidad de respuestas correctas que tiene cada pregunta y hacer una consulta a esa tabla y comparar si la cantidad de respuestas correctas es igual a esa tabla y de acuerdo a eso hacer la sumatorio..????

Gracias de antemano..