Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Refinar más una operación con SUMA

Estas en el tema de Refinar más una operación con SUMA en el foro de Mysql en Foros del Web. Buen día espero puedan ayudarme me esta dando vuieltas esto. Tengo la siguiente tabla idussercalif 1rcastro8 2mgomez7 3jperez6 4utorres5 5rcastro6 6jperez7 7rcastro4 Lo que quiero ...
  #1 (permalink)  
Antiguo 05/02/2013, 09:56
Avatar de Legend_Mau  
Fecha de Ingreso: diciembre-2010
Ubicación: México
Mensajes: 10
Antigüedad: 13 años, 4 meses
Puntos: 0
Refinar más una operación con SUMA

Buen día espero puedan ayudarme me esta dando vuieltas esto.

Tengo la siguiente tabla

idussercalif
1rcastro8
2mgomez7
3jperez6
4utorres5
5rcastro6
6jperez7
7rcastro4

Lo que quiero es que en una página de PHP atravez del query quiero que me muestre solo la suma del usuario que quiero por ejemplo rcastro...

Aqui tengo que el dato del usuario lo tengo con GET desde la página del login hacía la página que quiero q me muestre la suma.

Tengo lo siguiente:

<?php
$query = "SELECT usser, SUM(calif) FROM calificaciones GROUP BY usser";

$result = mysql_query($query) or die(mysql_error());

while($row = mysql_fetch_array($result)){
echo "Total ". $_GET['usser']. " = $". $row['SUM(calif)'];
echo "<br />";
}
?>

Lo que me muestra es la suma de cada usuario pero NO quiero quiero que sea la del usuario que estoy tomando desde el login.

ej.

Total rcastro 18
Total mgomez 7
.
.
.

Y así sucesivamente.

Espero me haya entendido y me puedan ayudar.

GRACIAS.
  #2 (permalink)  
Antiguo 05/02/2013, 10:32
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: Refinar más una operación con SUMA

Hola Legend_Mau:

Antes que otra cosa te comento: NO DEBES INCLUIR CÓDIGO DE NINGÚN LENGUAJE DE PROGRAMACIÓN en este foro... Si deseas incluir por ejemplo código de PHP como es el caso, entonces debes acudir al foro correspondiente. Esas son las políticas del foro y te expones a que algún moderador edite tu mensaje e incluso te imponga alguna sanción si reincides en esa práctica. Mucho ojo con eso:

Ahora si, volviendo a tu problema, la consulta no tiene nada de malo, ejecutándola desde una consula de MySQL obtienes lo siguiente:

Código MySQL:
Ver original
  1. mysql> SELECT * FROM tabla;
  2. +------+---------+-------+
  3. | id   | usser   | calif |
  4. +------+---------+-------+
  5. |    1 | rcastro |     8 |
  6. |    2 | mgomez  |     7 |
  7. |    3 | jperez  |     6 |
  8. |    4 | utorres |     5 |
  9. |    5 | rcastro |     6 |
  10. |    6 | jperez  |     7 |
  11. |    7 | rcastro |     4 |
  12. +------+---------+-------+
  13. 7 rows in set (0.00 sec)
  14.  
  15. mysql> SELECT usser, SUM(calif) FROM tabla GROUP BY usser;
  16. +---------+------------+
  17. | usser   | SUM(calif) |
  18. +---------+------------+
  19. | jperez  |         13 |
  20. | mgomez  |          7 |
  21. | rcastro |         18 |
  22. | utorres |          5 |
  23. +---------+------------+
  24. 4 rows in set (0.00 sec)

Es decir, te muestra la sumatoria de todos y cada uno de los usuarios de la tabla.

Esto me hace pensar que el problema está en el Código PHP que pones. No se deberían contestar temas de esta naturaleza en el foro, pero bueno, creo que el detalle es algo simple. No tengo conocimientos en el lenguaje, pero analizando un poco observo esto:

Código:
echo "Total ". $_GET['usser']. " = $". $row['SUM(calif)']
¿Por qué en un lado obtienes el valor a desplegar con GET y en el otro con ROW?

Insisto que no tengo conocimientos en PHP, creo que sería conveniente que publicaras tu pregunta ahí, aunque es posible que alguno de los moderadores mueva tu pregunta para allá.

Saludos
Leo.
  #3 (permalink)  
Antiguo 05/02/2013, 10:33
Avatar de andres_15_  
Fecha de Ingreso: septiembre-2008
Ubicación: Cali
Mensajes: 232
Antigüedad: 15 años, 7 meses
Puntos: 7
Respuesta: Refinar más una operación con SUMA

Cita:
Iniciado por Legend_Mau Ver Mensaje
Buen día espero puedan ayudarme me esta dando vuieltas esto.

Tengo la siguiente tabla

idussercalif
1rcastro8
2mgomez7
3jperez6
4utorres5
5rcastro6
6jperez7
7rcastro4

Lo que quiero es que en una página de PHP atravez del query quiero que me muestre solo la suma del usuario que quiero por ejemplo rcastro...

Aqui tengo que el dato del usuario lo tengo con GET desde la página del login hacía la página que quiero q me muestre la suma.

Tengo lo siguiente:

<?php
$query = "SELECT usser, SUM(calif) FROM calificaciones GROUP BY usser";

$result = mysql_query($query) or die(mysql_error());

while($row = mysql_fetch_array($result)){
echo "Total ". $_GET['usser']. " = $". $row['SUM(calif)'];
echo "<br />";
}
?>

Lo que me muestra es la suma de cada usuario pero NO quiero quiero que sea la del usuario que estoy tomando desde el login.

ej.

Total rcastro 18
Total mgomez 7
.
.
.

Y así sucesivamente.

Espero me haya entendido y me puedan ayudar.

GRACIAS.
según lo que entendi, es que tienes un formulario y estas pasando estos datos por metodo GET, el php obviamente te lo va a imprimir porque le estas pasando los datos y le estas diciendo que los imprima. Ahora si quieres que te salga cuando consultes crea otro formulario donde pidas el id de rcastro y que te imprima lo que tienes ahi. Espero te haya ayudado

Etiquetas: php, select, sql, suma, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:15.