Foros del Web » Programando para Internet » PHP »

Sumando los resultados

Estas en el tema de Sumando los resultados en el foro de PHP en Foros del Web. Buenas, tengo una tabla (mysql) de este tipo.... llamémosle USUARIOS: Código: usuario puntos ------------------- usuario1 10 usuario2 15 usuario3 2,6 Me gustaría hacer la consulta ...
  #1 (permalink)  
Antiguo 01/09/2006, 16:27
Avatar de david_M_G  
Fecha de Ingreso: febrero-2005
Mensajes: 938
Antigüedad: 19 años, 2 meses
Puntos: 20
Sumando los resultados

Buenas, tengo una tabla (mysql) de este tipo.... llamémosle USUARIOS:

Código:
usuario        puntos
-------------------
usuario1        10
usuario2        15
usuario3        2,6
Me gustaría hacer la consulta y, con PHP, sumar las filas de los puntos. Creando entonces el siguiente cálculo:

Código:
10 + 15 + 2,6 = 27,6
Es posible que pueda hacerse directamente con SQL a la hora de hacer la consulta.

Gracias de antemano.
  #2 (permalink)  
Antiguo 01/09/2006, 18:39
Avatar de B**
B**
 
Fecha de Ingreso: enero-2006
Ubicación: Monterrey,Mexico
Mensajes: 952
Antigüedad: 18 años, 2 meses
Puntos: 3
Código PHP:
select SUM(usuarios) as Total_Usuarios  from TU_tabla
__________________
-URL= Go PHP5.
-Age=22.
-Learning=PHP,J2EE,Struts,MAMBO,C++,JSON,AJAX,XHTML ,CSS.
  #3 (permalink)  
Antiguo 02/09/2006, 10:25
Avatar de david_M_G  
Fecha de Ingreso: febrero-2005
Mensajes: 938
Antigüedad: 19 años, 2 meses
Puntos: 20
Exacto, es lo que busco. Pero no he conseguido mostrarlo. Con esa consulta lo selecciono, pero... ¿cómo muestro el total en la página?

Haciéndolo sin más no sale nada:
Código PHP:
mysql_query("select SUM(puntos) as Total_Puntos  from usuarios"); 
He probado así...:
Código PHP:
$total mysql_query("select SUM(puntos) as Total_Puntos  from usuarios");

echo 
"$total"
Y me devuelve : Resource ID#3
  #4 (permalink)  
Antiguo 02/09/2006, 10:39
 
Fecha de Ingreso: noviembre-2003
Mensajes: 798
Antigüedad: 20 años, 4 meses
Puntos: 8
Cita:
Iniciado por david_M_G Ver Mensaje
Exacto, es lo que busco. Pero no he conseguido mostrarlo. Con esa consulta lo selecciono, pero... ¿cómo muestro el total en la página?

Haciéndolo sin más no sale nada:
Código PHP:
mysql_query("select SUM(puntos) as Total_Puntos  from usuarios"); 
He probado así...:
Código PHP:
$total mysql_query("select SUM(puntos) as Total_Puntos  from usuarios");

echo 
"$total"
Y me devuelve : Resource ID#3
Prueba asi:

Código PHP:

$query_total 
mysql_query("select SUM(puntos) as Total_Puntos  from usuarios");

$total mysql_result($query_total,0);
echo 
"$total"
  #5 (permalink)  
Antiguo 02/09/2006, 10:40
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 9 meses
Puntos: 88
tienes que utiliza el mysql_fetch_array() o mysql_fetch_row()
y despues muestras el resultado.

eso es algo básico, debes tomar en cuenta que despues de hacer la consulta el mysql no devuelve el resultado tal cual, es por eso que tienes que pasarlo por cualquiera de estas funciones.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #6 (permalink)  
Antiguo 02/09/2006, 11:03
Avatar de david_M_G  
Fecha de Ingreso: febrero-2005
Mensajes: 938
Antigüedad: 19 años, 2 meses
Puntos: 20
Es verdad. Últimamente solo usaba mysql_num_rows, y ese dato sí es directo. Por otra parte al coger solo un dato con SELECT pensaba que también podía cogerse directamente.

Ha quedado así:

Código PHP:
//Aqui las conexiones a la DB

$query "select SUM(puntos) as Total_Puntos  from usuarios";
$result =  mysql_db_query ($dbname$query$link);
while (
$row mysql_fetch_array ($result)) {

echo 
round($row[0]);


Funciona a la perfección
  #7 (permalink)  
Antiguo 02/09/2006, 11:07
Avatar de david_M_G  
Fecha de Ingreso: febrero-2005
Mensajes: 938
Antigüedad: 19 años, 2 meses
Puntos: 20
La solución de Zsamer también funciona a la perfección

Código PHP:
//Aqui conexiones a la DB

$query_total mysql_query("select SUM(puntos) as Total_Puntos  from usuarios");

$total mysql_result($query_total,0);
echo 
round($total); 
(Le añadí el round, que sino devuelve bastantes decimales)


Gracias a los 3
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 18:33.