entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

0voto

Total de una columna

Tengo el siguiente código:

<?php
$res = mysql_query("SELECT d1 FROM sitio");

while($row= mysql_fetch_assoc($res))
{
$total=$total+$row['d1'];
}
echo $número_formato_inglés = number_format($total);
?>

El problema es que al agregar otro código

<?php
$res = mysql_query("SELECT d2 FROM sitio");

while($row= mysql_fetch_assoc($res))
{
$total=$total+$row['d2'];
}
echo $número_formato_inglés = number_format($total);
?>

Al último se le suman y en los otros códigos sigue sumando la cantidad que tiene la columna + el del anterior código :s

0voto

GusGarsaky comentado

¿Y qué es lo que quieres hacer? Si quieres que te ayuden, pues sé más explícito para que se pueda entender qué quieres o qué problema tienes exactamente.

0voto

Mariio comentado

al agregar más códigos como los dados los últimos códigos se van sumando, osea si pido de la tabla A1 el total y es 2 y luego pido el total de la tabla A2 me va a salir 4 (se va sumando con los de los demás códigos)

1 Respuesta

3votos

white Puntos75840

Para obtener el total de una columna no necesitas de mysql_fetch_assoc ni de un bucle, puedes obtener el valor con la sentencia SUM(). donde la sintaxis es:

SELECT SUM(d1) AS total FROM sitio

para tu código:

$res = mysqli_query("SELECT SUM(d2) AS total FROM sitio");
$row = $res->fetch_array(MYSQLI_ASSOC);
$total = $row['total'];

por otra parte $total te suma los valores previos por que estas incrementando su valor.

$total = $total + <----

http://ordenador.wingwit.com/Programacion/php-mysql-programming/93073.html

0voto

Mariio comentado

Muchas gracias :D

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta