ya di con el query correcto.
$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']);
pero me las muestra repetidas en el script creo qeu tengo que ponerle otro array
si ese "INNER JOIN kardex" no va asi...y yo soy partidario de no poner el nombre de la tabla delante de los campos sino un simple "alias" queda mucho mas claro y entendible y la consulta no se hace tan grande...por ejemplo:
SELECT al.nombres, al.apellidos, al.matricula, k.calif1A, k.fechacalif, mat.materia
FROM alumnos al
INNER JOIN kardex k ON aca pones la relacion...
INNER JOIN materias mat ON k.matricula=al.matricula
WHERE al.matricula = blabla...
y si podes ordenala queda mucho mas claro al leer..porque te quiero ver con una consulta larga en una linea...imposible de leer...
saludos.