Lo que se necesita es planetar bien la forma del arreglo que quieres formar en el segundo while para entonces plantear una logica de como crearlo, aqui tengo una idea pero si debes plantearnos la forma del array y escibirla aqui para poder avanzar
analiza la idea , no es que asi vaya a funcionar
Código PHP:
Ver original<?php
require_once('class.ezpdf.php');
$pdf =& new Cezpdf('a4');
$pdf->selectFont('fonts/courier.afm');
$pdf->ezSetCmMargins(1,1,1.5,1.5);
//query para traer los id de los alumnos
$query = "SELECT i.id_alumno, a.nombres, a.apellido_paterno, a.apellido_materno
FROM alumnos a, inscripciones i
WHERE i.id_grupo = ".$_GET['idg']."
AND a.id_alumno = i.id_alumno
ORDER BY a.apellido_paterno";
if(!$query) die("Error al traer los id de los alumnos... ".mysql_error());
//query para traer el numero de clases que tiene un grupo
$query3 = "SELECT h.*
FROM horarios h, materias m
WHERE m.id_grupo = ".$_GET[idg]."
AND m.id_horario = h.id_horario";
if(!$query3) die("Error al traer el numero de clases de este grupo... ".mysql_error()); $num_1 = mysql_num_rows($query3); //num_1 es el numero de clases que tiene un grupo
//query para saber cuantas materias tiene un grupo
$query4 = "SELECT id_materia
FROM materias
WHERE id_grupo = ".$_GET[idg];
if(!$query4) die("Error al buscar el numero de materias de un grupo... ".mysql_error());
//este codigo cicla a cada alumno para imprimir su boleta
{
//query para traer la boleta del alumno
$query2 = "SELECT m.nombre, m.id_materia, c.*, ma.nombres maestro, ma.apellido_paterno ap
FROM calificaciones c, materias m, maestros ma
WHERE c.id_alumno = ".$data['id_alumno']."
AND c.id_materia = m.id_materia
AND m.id_maestro = ma.id_maestro
ORDER BY c.id_materia";
$data2 = array();#el arreglo que quieres para las calificaciones debe llamarse distinto de el cursor del primer while para que no se reescriba #$data[] = array_merge($datatmp); esto deplano nomas no me late
}
'nombre'=>'<b>Materia</b>',
'parcial_1'=>'<b>Primer parcial</b>',
'parcial_2'=>'<b>Segundo parcial</b>',
'parcial_3'=>'<b>Tercer parcial</b>',
'examen_f'=>'<b>Examen Semestral</b>',
'promedio'=>'<b>promedio</b>'
);
'shadeCol'=>array(0.9,0.9,0.9), 'xOrientation'=>'center',
'width'=>500
);
$txttit = "<b>Preparatoria Maria Comaduran Chavez No. 4001</b>\n";
$txttit.= "Boleta de Calificaciones \n";
$pdf->ezText($txttit, 12);
$pdf->ezTable($data2, $titles, '', $options);
$pdf->ezText("\n\n\n", 10);
unset($data2);#deshacer el arreglo para las siguientes calificaciones del alumno }
$pdf->ezStream();
?>
echale una ojeada a
http://mx2.php.net/manual/es/function.array-push.php
para ver si es lo que podria servir