PHP - Llamado Tablas en DB + Suma de registros y muestra de Totales

 
Vista:
Imágen de perfil de Robinson

Llamado Tablas en DB + Suma de registros y muestra de Totales

Publicado por Robinson (41 intervenciones) el 23/09/2015 03:56:33
A ver amigos, tengo la siguiente consulta:

Estoy llamando dos tablas con las mismas características que tengo en mi DB,

Tabla-01
Tabla-02

Hasta el momento todo bien, realizo la suma de todos los meses en cada año:

Total Andes 2012= 10
Total Andes 2013= 15
Total Andes 2014= 6
Total Andes 2015= 5

El problema es cuando intento mostrar los datos de la segunda tabla, ya que realizo la misma operación, sin embargo cuando muestro los resultados me arroja solo el total del 2012 y lo repite en los demás años restantes (Les dejo la imagen para que observen).

Consulta-Suma-Totales-Nacional

Me parece que el problema esta en el while. Les dejo el código.

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
<<table border="1" align="center" bgcolor="#FFFFFF">
  <tr>
    <td>Año</td>
    <td>Andes</td>
    <td>Centro</td>
    <td>Centro Llanos</td>
    <td>Centro Occidente</td>
    <td>Gran Caracas</td>
    <td>Occidente</td>
    <td>Guayana</td>
    <td>Oriente</td>
    <td>Total</td>
  </tr>
 
 
<?php do { ?>
    <tr>
      <td><?php echo $row_totales_andes['year']; ?>&nbsp; </td>
      <td><?php echo $suma=$row_totales_andes['Enero']+ $row_totales_andes['Febrero']+ $row_totales_andes['Marzo']+ $row_totales_andes['Abril']+ $row_totales_andes['Mayo']+ $row_totales_andes['Junio']+ $row_totales_andes['Julio']+ $row_totales_andes['Agosto']+ $row_totales_andes['Septiembre']+ $row_totales_andes['Octubre']+ $row_totales_andes['Noviembre']+ $row_totales_andes['Diciembre'] ?>&nbsp; </td>
      <td><?php echo $suma=$row_totales_centro['Enero']+ $row_totales_centro['Febrero']+ $row_totales_centro['Marzo']+ $row_totales_centro['Abril']+ $row_totales_centro['Mayo']+ $row_totales_centro['Junio']+ $row_totales_centro['Julio']+ $row_totales_centro['Agosto']+ $row_totales_centro['Septiembre']+ $row_totales_centro['Octubre']+ $row_totales_centro['Noviembre']+ $row_totales_centro['Diciembre'] ?>&nbsp; </td>
      <td>&nbsp; </td>
      <td>&nbsp; </td>
      <td>&nbsp; </td>
      <td>&nbsp; </td>
      <td>&nbsp; </td>
      <td>&nbsp; </td>
      <td>&nbsp; </td>
    </tr>
<?php } while($row_totales_andes = mysql_fetch_assoc($totales_andes)); ($row_totales_centro = mysql_fetch_assoc($totales_centro));
 
// Si los invierto es decir: while ($row_totales_centro = mysql_fetch_assoc($totales_centro)) ; ($row_totales_andes = mysql_fetch_assoc($totales_andes));  hace lo contrario
 
?>
</table>

Consulta-Suma-Totales-Nacional-2
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 xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Llamado Tablas en DB + Suma de registros y muestra de Totales

Publicado por xve (6935 intervenciones) el 23/09/2015 10:24:23
Hola Robinson, hacer un do {} while es buena idea cuando quieres que como minimo entre una vez en el bucle, pero para lo que tu quieres hacer, creo que no es correcto.

Nos puedes mostrar como capturas los valores? ya que veo que los años son siempre los mismos...
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 Robinson

Llamado Tablas en DB + Suma de registros y muestra de Totales

Publicado por Robinson (41 intervenciones) el 23/09/2015 17:54:45
Hola,

Acá les comparto el codigo completo (como adjunto...!!!), adicional intente hacer do {} while por separado y me arroja el siguiente resultado:

Muestra-Totales-02

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
//--------LLAMADO A LAS BD PARA LAS TABLA INFERIOR ----------------------
 
mysql_select_db($database_local, $local);
$query_totales_andes = "SELECT * FROM `cantidad de cursos region andes`";
$totales_andes = mysql_query($query_totales_andes, $local) or die(mysql_error());
$row_totales_andes = mysql_fetch_assoc($totales_andes);
$totalRows_totales_andes = mysql_num_rows($totales_andes);
 
mysql_select_db($database_local, $local);
$query_totales_centro = "SELECT * FROM `cantidad de cursos region centro`";
$totales_centro = mysql_query($query_totales_centro, $local) or die(mysql_error());
$row_totales_centro = mysql_fetch_assoc($totales_centro);
$totalRows_totales_centro = mysql_num_rows($totales_centro);
 
 
 
<!-- -----------------------------TABLA INFERIOR------------------------------------------ -->
 
<table border="1" align="center">
  <tr>
	<td>Año</td>
	<td>Andes</td>
	<td>Centro</td>
	<td>Centro Llanos</td>
	<td>Centro Occidente</td>
	<td>Gran Caracas</td>
	<td>Occidente</td>
	<td>Guayana</td>
	<td>Oriente</td>
	<td>Total</td>
  </tr>
 
  <!-- -----------------------------CALCULO Y SUMA  DE LA TABLA INFERIOR----------------------------- -->
 
<?php do { ?>
    <tr>
      <td><?php echo $row_totales_andes['year']; ?>&nbsp; </td>
<?php } while($row_totales_andes = mysql_fetch_assoc($totales_andes)); ?>
 
<?php do { ?>
      <td><?php echo $suma=$row_totales_andes['Enero']+ $row_totales_andes['Febrero']+ $row_totales_andes['Marzo']+ $row_totales_andes['Abril']+ $row_totales_andes['Mayo']+ $row_totales_andes['Junio']+ $row_totales_andes['Julio']+ $row_totales_andes['Agosto']+ $row_totales_andes['Septiembre']+ $row_totales_andes['Octubre']+ $row_totales_andes['Noviembre']+ $row_totales_andes['Diciembre'] ?>&nbsp; </td>
<?php } while($row_totales_andes = mysql_fetch_assoc($totales_andes)); ?>
 
 
<?php do { ?>
       <td><?php echo $suma=$row_totales_centro['Enero']+ $row_totales_centro['Febrero']+ $row_totales_centro['Marzo']+ $row_totales_centro['Abril']+ $row_totales_centro['Mayo']+ $row_totales_centro['Junio']+ $row_totales_centro['Julio']+ $row_totales_centro['Agosto']+ $row_totales_centro['Septiembre']+ $row_totales_centro['Octubre']+ $row_totales_centro['Noviembre']+ $row_totales_centro['Diciembre'] ?>&nbsp; </td>
 
<?php } while($row_totales_centro = mysql_fetch_assoc($totales_centro)); ?>
 
 
<!-- ----------------------------MUESTRA RESULTADOS  DE LA TABLA INFERIOR----------------------------- -->
 
      <td><?php echo $row_totales_andes['Marzo']; ?>&nbsp; </td>
      <td><?php echo $row_totales_andes['Abril']; ?>&nbsp; </td>
      <td><?php echo $row_totales_andes['Mayo']; ?>&nbsp; </td>
      <td><?php echo $row_totales_andes['Junio']; ?>&nbsp; </td>
      <td><?php echo $row_totales_andes['Julio']; ?>&nbsp; </td>
      <td><?php echo $row_totales_andes['Agosto']; ?>&nbsp; </td>
      <td><?php echo $row_totales_andes['Agosto']; ?>&nbsp; </td>
    </tr>
 
</table>
 
</body>
</html>
 
<?php
mysql_free_result($totales_andes);
mysql_free_result($totales_centro);
mysql_free_result($cant_cursos_andes);?>
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 Robinson

Llamado Tablas en DB + Suma de registros y muestra de Totales

Publicado por Robinson (41 intervenciones) el 28/09/2015 18:39:52
Hola amigos,

Replanteo la solicitud,

Tengo 8 tablas (En la misma Base de Datos y con la misma estructura),

Tablas-01

Quisiera llamarla a todas y hacer lo que les muestro a continuación:

Tablas-02

Agradezco mucho en lo que me puedan sugerir
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 xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Llamado Tablas en DB + Suma de registros y muestra de Totales

Publicado por xve (6935 intervenciones) el 28/09/2015 20:30:24
Hola Robinson, haber si consigo que te sirva esta consulta sql...
1
2
3
4
SELECT
*,SUM(Enero,Febrero,Marzo,Abril,Mayo,Junio,Julio,Agosto,Septiembre,Octubre,Noviembre,Diciembre) as Total
FROM tabla
GROUP BY year,Region

Yo creo que esta consulta te tiene que devolver los totales por año y usuario... falta poner el nombre de la tabla, que no se cual es...

Coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Robinson

Llamado Tablas en DB + Suma de registros y muestra de Totales

Publicado por Robinson (41 intervenciones) el 28/09/2015 23:03:38
Hola

Estoy haciendo la consulta como me sugieren:

1
2
3
4
5
6
7
8
9
$conexio2 = mysql_connect("localhost","root","1234");
   mysql_select_db ("capacitacion", $conexio2) OR die ("No se puede conectar");
 
   $sql2="SELECT * SUM (Enero,Febrero,Marzo,Abril,Mayo,Junio,Julio,Agosto,Septiembre,Octubre,Noviembre,Diciembre) as Total
FROM `cantidad de cursos región andes`; 

GROUP BY year,Region";
 
$result2=mysql_query($sql2,$conexio2);


Como puedo llamar a las ocho tablas?

Ahora como podré mostrar los resultados en la web?


Con un While {} ...?

Saludos,
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 xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Llamado Tablas en DB + Suma de registros y muestra de Totales

Publicado por xve (6935 intervenciones) el 29/09/2015 07:36:31
Para juntar las 8 tablas, puedes utilizar el union... algo así:

1
2
3
4
5
6
7
$sql2="(SELECT * SUM (Enero,Febrero,Marzo,Abril,Mayo,Junio,Julio,Agosto,Septiembre,Octubre,Noviembre,Diciembre) as Total
FROM `cantidad de cursos región andes`; 
GROUP BY year,Region)
UNION
(SELECT * SUM (Enero,Febrero,Marzo,Abril,Mayo,Junio,Julio,Agosto,Septiembre,Octubre,Noviembre,Diciembre) as Total
FROM `cantidad de cursos región centro`; 
GROUP BY year,Region)";

De esta manera, vas juntando las consultas en una sola...

Para mostrar los datos, tal como indicas, con un while {}

Te recomiendo no utilizas acentos ni eñes en la base de datos... puedes llegar a tener problemas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar