Ayuda con Consulta

Iniciado por royerphpmysql, 20 Marzo 2010, 06:12 AM

0 Miembros y 1 Visitante están viendo este tema.

royerphpmysql

Hola Roberto

como estas.

espero me puedas ayudar.

tengo el siguiente codigo.

$res=mysql_query("SELECT alumnos.nombres, alumnos.apellidos, alumnos.matricula, kardex.calif1A, kardex.fechacalif, materias.materia FROM alumnos INNER JOIN kardex INNER JOIN materias ON kardex.matricula=alumnos.matricula WHERE alumnos.matricula =".$_POST['matricula']);


       $row=mysql_fetch_array($res); //hago esto, para poder tomar el nombre antes de entrar al WHILE.
   
            
       echo "<td><div align=left>El alumno ".$row['nombres']." ".$row['apellidos']." y con  Matricula: ".$row[matricula]." obtuvo las siguientes calificaciones:</a></div></td></br>";

   echo '<table>';
   echo '<tr>';
   echo '<td><b>Materia</b></td><td><b>Calificacion</b><td><b>Fecha Calificacion</b></td>';
   echo '</tr>';
   echo '<tr>';
   echo '<td>'.$row['materia'].'</td><td>'.$row['calif1A'].'</td><td>'.$row['fechacalif'].'</td>';
   echo '<td>';
   while($row=mysql_fetch_array($res))
   {
   echo '<tr>';
   echo '<td>'.$row['materia'].'</td><td>'.$row['calif1A'].'</td><td>'.$row['fechacalif'].'</td>';
   echo '</tr>';
   echo '<td>';
   }
   echo '</table>';
         

y el resultado es este.


El alumno CELINA NINFA GUERRA y con Matricula: 91901014428 obtuvo las siguientes calificaciones:

Materia Calificacion Fecha Calificacion
INGLES I 90 01/01/2010 
INGLES I 90 01/01/2010

INGLES I 80 01/01/2010

INGLES I 70 01/01/2010

MATEMATICAS I 90 01/01/2010

MATEMATICAS I 90 01/01/2010

MATEMATICAS I 80 01/01/2010

MATEMATICAS I 70 01/01/2010

TALLER DE REDACCION I 90 01/01/2010

TALLER DE REDACCION I 90 01/01/2010

TALLER DE REDACCION I 80 01/01/2010

TALLER DE REDACCION I 70 01/01/2010

METODOLOGIA DE LA LECTURA 90 01/01/2010

METODOLOGIA DE LA LECTURA 90 01/01/2010

METODOLOGIA DE LA LECTURA 80 01/01/2010

a que cres que se deba que sale repetido el resultado de materias? tengo qeu agregarle algo adicional al codigo.

gracias por tu ayuda

rob1104

#11
Hola, creo que el INNER JOIN esta mal estructurado.

Intenta de esta forma:
$res=mysql_query("SELECT alumnos.nombres, alumnos.apellidos, alumnos.matricula, kardex.calif1A, kardex.fechacalif, materias.materia FROM alumnos INNER JOIN kardex ON kardex.matricula=alumnos.matricula INNER JOIN materias ON materias.materia = kardex.codigomateria WHERE alumnos.matricula =".$_POST['matricula']);

Saludos
Sin análisis de requisitos o sin diseño, programar es el arte de crear errores en un documento de texto vacío.

royerphpmysql

nel pastel no jalo marco error de sintaxis

~ Yoya ~

royerphpmysql usa BBCODE.
Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.

royerphpmysql

com le hago? para usar BBCODE

royerphpmysql


Shell Root

Supongo que lo que dice ~ Yoya ~, esque metas el codigo, dentro de las etiquetas correspondientes, es decir, pon tu code dentro de la etiqueta , además de selecccionar el lenguaje de programacion que estas usando.
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

royerphpmysql

gracias a todos por su valiosa ayuda, ya pude resolver el problema.

no necesite hacerle el inner join a la tercera tabla de materias ya que las materias las tengo agregadas en un VALUE  en un formulario de carga de calificciones y automaticamente se estaba almacenando en la tabla kardex, ya las pude tomar alli gracias nuevamente