Sub-totales por cambio de semestre
Publicado por orlando (73 intervenciones) el 30/11/2011 03:04:45
Muchas gracias de antemano.
Estoy realizando un sql en tres tablas y quisiera que por cada cambio de semestre me diera subtotales.
Llevo varios días tratando de hacer y nada. Alguien me podría ayudar.
Estos son los dos querys :
Como resultado :
Quisiera que para cada cambio de semestre me diera un subtotal.
Estoy realizando un sql en tres tablas y quisiera que por cada cambio de semestre me diera subtotales.
Llevo varios días tratando de hacer y nada. Alguien me podría ayudar.
Estos son los dos querys :
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
$result = mysql_query('SELECT estudiantes.semestre,
estudiantes.seccion,
estudiantes.cedula,
estudiantes.apellidos,
estudiantes.nombres,
estudiantes.codigo_carrera,
carreras.nombre_carrera,
carga_academica.periodo_academico,
estudiantes.periodo_ingreso,
estudiantes.turno
FROM estudiantes, carreras, carga_academica
WHERE estudiantes.codigo_carrera=carreras.codigo_carrera
and estudiantes.cedula=\''.$usuario.'\'
and carga_academica.cedula=\''.$usuario.'\'');
$row=mysql_fetch_array($result);
while ($registro = mysql_fetch_array($result)) {
// comienza un bucle que leera todos los registros y ejecutara las ordenes que siguen
for($i=0; $i < mysql_num_rows($result); $i++){
if(mysql_num_rows($result)>0)
$semestre = mysql_result($result,$i,"estudiantes.semestre");
//// Comienza la impresion /////
}
echo'<table width="94%" border="0" align="center">';
echo'<tr>';
echo'<td width="18%">Estudiante : </td>';
echo'<td width="62%">'.$row["apellidos"].' '.$row["nombres"].'</td>';
echo'<td width="13%">Cédula : </td>';
echo'<td width="7%">'.$row["cedula"].'</td>';
echo'</tr>';
echo'<tr>';
echo'<td>Matrícula : </td>';
echo'<td>'.$row["periodo_ingreso"].'-'.$row["codigo_carrera"].''.$row["turno"].'-'.$row["cedula"].'</td>';
echo'<td>Semestre : </td>';
echo'<td>'.$semestre.'</td>';
echo'</tr>';
echo'<tr>';
echo'<td>Especialidad : </td>';
echo'<td>'.$row["nombre_carrera"].'</td>';
echo'<td> </td>';
echo'<td> </td>';
echo'</tr>';
echo'</table>';
}
}
?>
$result = mysql_query('SELECT asignaturas.credito,
asignaturas.nombre_asignatura,
carga_academica.condicion,
carga_academica.codigo_asignatura,
asignaturas.codigo_asignatura,
carga_academica.seccion,
carga_academica.periodo_academico,
carga_academica.final,
carga_academica.semestre,
carga_academica.reparacion,
carga_academica.periodo_academico
FROM estudiantes, carreras, carga_academica, asignaturas
WHERE carga_academica.codigo_asignatura=asignaturas.codigo_asignatura
and carga_academica.semestre=asignaturas.semestre
and carga_academica.codigo_carrera=asignaturas.codigo_carrera
and estudiantes.codigo_carrera=carreras.codigo_carrera
and estudiantes.cedula=\''.$usuario.'\'
and carga_academica.cedula=\''.$usuario.'\'');
$row=mysql_fetch_array($result);
}
while ($registro = mysql_fetch_array($result)) {
// comienza un bucle que leera todos los registros y ejecutara las ordenes que siguen
$suma=0; $acumulado=0; $acumulador = 0; $puntos_acumulados = 0; $total_creditos = 0; $total_indice = 0; $puntos = 0; $final = 0; $credito = 0;
echo'<table width="100%" border="1">';
echo' <tr>';
echo'<th width="11%" scope="col">Código </th>';
echo'<th width="60%" scope="col">Nombre de la Asignatura </th>';
echo'<th width="5%" scope="col">NF</th>';
echo'<th width="5%" scope="col">NR</th>';
echo'<th width="5%" scope="col">UC</th>';
echo'<th width="5%" scope="col">Ptos</th>';
echo'<th width="20%" scope="col">Condición</th>';
echo'</tr>';
echo'</table>';
for($i=0; $i < mysql_num_rows($result); $i++){
if(mysql_num_rows($result)>0)
$codigo_asignatura = mysql_result($result,$i,"codigo_asignatura");
$nombre_asignatura = mysql_result($result,$i,"nombre_asignatura");
$credito = mysql_result($result,$i,"credito");
$seccion = mysql_result($result,$i,"seccion");
$condicion = mysql_result($result,$i,"condicion");
$final = mysql_result($result,$i,"final");
$semestre_periodo = mysql_result($result,$i,"carga_academica.semestre");
$reparacion = mysql_result($result,$i,"reparacion");
$periodo_academico = mysql_result($result,$i,"carga_academica.periodo_academico");
if (($condicion)== 'P')
$credito=0;
$suma = (int) $credito;
$acumulado = $acumulado + $suma;
$puntos = $final * $credito;
$puntos_acumulados = $puntos_acumulados + $puntos;
//$total_creditos = $total_creditos + $credito;
$total_indice = round ($puntos_acumulados / $acumulado, 2);
if ($semestre_periodo != $acumulador) {
echo'<table width="100%" border="0">';
echo'<tr>';
echo'<td width="8%" scope="col">Semestre:</td>';
echo'<td>'.$semestre_periodo.'</td>';
echo'<td width="10%" scope="col">Período:</td>';
echo'<td width="75%" scope="col">'.$periodo_academico.'</td>';
echo'</tr>';
echo'</table>';
echo'<table width="100%" border="1">';
echo'<tr>';
echo'<td width="11%" scope="col"><div align="center">'.$codigo_asignatura.'</div></td>';
echo'<td width="60%" scope="col"><div align="left">'.$nombre_asignatura.'</div></td>';
echo'<td width="5%" scope="col"><div align="center">'.$final.'</div></td>';
echo'<td width="5%" scope="col"><div align="center">'.$reparacion.'</div></td>';
echo'<td width="5%" scope="col"><div align="center">'.$credito.'</div></td>';
echo'<td width="5%" scope="col"><div align="center">'.$puntos.'</div></td>';
echo'<td width="20%" scope="col"><div align="left">'.$condicion.'</div></td>';
echo'</tr>';
echo'</table>';
echo'<table width="100%" border="0">';
//$acumulador = $semestre_periodo;
if ($semestre_periodo == $acumulador) {
//echo 'estoy aqui';
echo'<tr>';
echo'<td scope="col"><div align="justify">Totales Acumulados.........</div></td>';
echo'<td scope="col"><div align="justify">Unidades de Créditos : </div></td>';
echo'<td scope="col">'.$acumulado.'</td>';
echo'<td scope="col"><div align="justify">Puntos:</div></td>';
echo'<td scope="col">'.$puntos_acumulados .'</td>';
echo'<td scope="col">Índice:</td>';
echo'<td scope="col">'.$total_indice.'</td>';
echo'</tr>';
echo'</table>';
}
}
}
}
echo 'llego al final';
echo'<tr>';
echo'<td scope="col"><div align="justify">Totales Acumulados.........</div></td>';
echo'<td scope="col"><div align="justify">Unidades de Créditos : </div></td>';
echo'<td scope="col">'.$acumulado.'</td>';
echo'<td scope="col"><div align="justify">Puntos:</div></td>';
echo'<td scope="col">'.$puntos_acumulados .'</td>';
echo'<td scope="col">Índice:</td>';
echo'<td scope="col">'.$total_indice.'</td>';
echo'</tr>';
echo'</table>';
mysql_free_result($result); // libera los registros de la tabla
mysql_close(); // cierra la conexion con la base de datos
?>
Como resultado :
Quisiera que para cada cambio de semestre me diera un subtotal.
Valora esta pregunta
0