PHP - Reporte Calificaciones FPDF con php y mysql

 
Vista:
Imágen de perfil de Jaimicomico
Val: 16
Ha aumentado su posición en 8 puestos en PHP (en relación al último mes)
Gráfica de PHP

Reporte Calificaciones FPDF con php y mysql

Publicado por Jaimicomico (7 intervenciones) el 14/09/2018 07:50:45
Buenas noches de antemano muchas gracias por la colaboración

Lo que pasa es que trato de realizar un reporte de calificaciones de estudiantes, lo quiero que pueda imprimir los reportes por estudiantes que contenga sus datos pero que no se repitan...

1
2
3
4
5
6
7
8
9
$query = "SELECT N.Id_Asig1, AVG(Nota) AS Nota,A.Area, AG.Asignatura, E.Nombres, E.ApellidoP, E.ApellidoM, G.Grado, C.Curso
From Estudiante AS E
INNER JOIN Grado AS G ON G.Id_Grado = E.Id_Grado1
INNER JOIN Curso AS C ON C.Id_Curso = E.Id_Curso1
INNER JOIN Nota AS N ON N.Id_Est1 = E.Id_Est
INNER JOIN Area AS A ON A.Id_Area = N.Id_Area1
INNER JOIN Asignatura AS AG ON AG.Id_Asig = N.Id_Asig1
GROUP BY AG.Id_Asig
ORDER BY E.Nombres";


lo que yo necesito es poder meter las notas de cada área y asignatura con sus logros sin que me repita los datos del estudiante como lo muestra la figura...

actualmente por ejemplo tengo 5 estudiantes con la misma materias y me los muestra cada uno por separado en cada materia y debería mostrar solamente una vez el estudiante y todas las notas de cada área y asignatura debajo o al lado dependiendo como lo cuadre

espero me puedan colaborar
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de santi
Val: 588
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Reporte Calificaciones FPDF con php y mysql

Publicado por santi (204 intervenciones) el 16/09/2018 02:47:25
Hola,

no se si me he enterado muy bien pero si tienes bien estructurada tu bbdd, puedes enviar el id del usuario por GET o POST y recibirlo para hacer una consulta solo para ese usuario en concreto con un "Where user_id = $_GET['user_id']".

No se si me explico pero si no es lo que necesitas mira de adjuntar parte o todo el código para poder ayudarte ;)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Jaimicomico
Val: 16
Ha aumentado su posición en 8 puestos en PHP (en relación al último mes)
Gráfica de PHP

Reporte Calificaciones FPDF con php y mysql

Publicado por Jaimicomico (7 intervenciones) el 19/09/2018 04:51:08
hola

mira esto es lo q tengo como codigo

las tablas que tengo en la bd son

estudiantes
grado
curso
asignatura
area
notas

y lo que quiero es algo como muestra la imagen (lo que quiero) y lo que actualmente me muestra es la 2da imamgen todos los datos en la misma hoja y repetidos los nombres de los estudiantes y sumando todas las notas aun cuando son de asignaturas diferentes por ejemplo Ingles y lenguaje son del area de Humanidades pero las suma....
Espero me puedas ayudar....

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
<?php
 
include 'plantilla.php';
//require '../Reporte/fpdf/fpdf.php';
require 'conexion.php';
 
 
$query = "SELECT N.Id_Area1, AVG(Nota) AS Nota,A.Area, AG.Asignatura, E.Nombres, E.ApellidoP, E.ApellidoM, G.Grado, C.Curso, S.Sede, I.Ind_logro, D.Desempeño
From Estudiante AS E 
INNER JOIN Grado AS G ON G.Id_Grado = E.Id_Grado1
INNER JOIN Curso AS C ON C.Id_Curso = E.Id_Curso1
INNER JOIN Sede AS S ON S.Id_Sede = E.Id_Sede1
INNER JOIN Nota AS N ON N.Id_Est1 = E.Id_Est
INNER JOIN Area AS A ON A.Id_Area = N.Id_Area1
INNER JOIN Asignatura AS AG ON AG.Id_Asig = N.Id_Asig1
INNER JOIN Ind_logro AS I ON I.Id_Indlogro = N.Id_Indlogro1
INNER JOIN Desempeño AS D ON D.Id_Des = N.Id_Des1
GROUP BY E.Nombres";
 
//ORDER BY E.Nombres";


$resultado = mysqli_query($conexion, $query);  //Esta linea ayudaa mostrar los datos debe recibir la conexion

$pdf = new PDF();
$pdf->AliasNbPages();
$pdf->AddPage();


while($row = $resultado->fetch_assoc()){	
	$pdf->Ln(3);
	$pdf->SetFillColor(232,232,232);
	$pdf->SetFont('Arial','B',14); //si colocara antes de B que es para negrita colocara U saliera subrayado
	$pdf->Cell(190,5,'Datos Estudiante',1,1,'C',1);
	$pdf->Ln(2);

	$pdf->SetFont('Arial','B',12);
	$pdf->Cell(20,5,"Nombre: " ,1,0,'C',0);
	$pdf->SetX(30);
	$pdf->SetFont('Arial','B',12);
	$pdf->Cell(170,5,"    ".utf8_decode($row['Nombres']).' ' .utf8_decode($row['ApellidoP']).' ' .utf8_decode($row['ApellidoM']).'                           '.utf8_decode($row['Grado']).' ' .utf8_decode($row['Curso']).'                              ' .utf8_decode($row['Sede']),1,0,'R',0);


	$pdf->Ln(9);
	//$pdf->SetFillColor(232,232,232);
	$pdf->SetFont('Arial','B',12); //si colocara antes de B que es para negrita colocara U saliera subrayado
	$pdf->Cell(190,5,utf8_decode('Área                                     Asignatura                                  Desempeño del Área'),1,1,'C',0);


	//$pdf->SetFont('Arial','',12);
	//$pdf->Cell(40,5,utf8_decode("Área - Asignatutra: ") ,1,0,'C',0);
	//$pdf->SetX(190);
	$pdf->SetFont('Arial','',12);
	$pdf->Cell(190,5," ".utf8_decode($row['Area']).'                      ' .utf8_decode($row['Asignatura']).'                                     ' .utf8_decode($row['Nota']) .'    ' .utf8_decode($row['Desempeño']),1,0,'R',0);


	$pdf->Ln(7);
	//$pdf->SetXY(30,90);
	$pdf->SetFont('Arial','B',11);
	$pdf->Cell(190,5,utf8_decode("Ind_logro: "),1,1,'C',0);
    // $pdf->SetXY(30,95);
	$pdf->SetFont('Arial','',7);	
	$pdf->MultiCell(190,4,"  ".utf8_decode($row['Ind_logro']),1,1,'C',0);

}

$pdf->Output();

?>


lo-que-quiere

lo-que-actualmente-me-muestra
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar