Jump to content
Fórum Script Brasil
  • 0

Somar Dados


Gafanhoto

Question

Como faço pra pegar todos os valores de determinada coluna em um banco de dados em MySQL e somar todos???

Ex: Eu tenho um db de nome TESTE e lá tem uma tabela com 1 coluna de nome valor...... aí eu cadastro um monte de valores e vai criando linha embaixo...

Quero pegar todos os valores e mostrar na tela o resultado da soma de tudo....

Se puderem me ajudar??? wink.gif

Link to comment
Share on other sites

12 answers to this question

Recommended Posts

  • 0

a ordenacao por ordem alfabetica você controla usando no query sql o comando "order by nome", pensando no algoritmo, voce pode fazer assim

soma = 0

i = 1

enquanto existe resultados no array

soma = soma + resultado

i = i + 1

fim enquanto

de quebra voce tem a soma e a quantidade de resultados

é uma ideia, podem haver melhores, mas implemente e experimente.

Link to comment
Share on other sites

  • 0

Ba, não consegui fazer funcionar..... unsure.gif

vocês não tem nenhum código pronto p me mostrar???

Criei a tabela com dois campos valor e valortotal mas não consegui fazer funcionar...

Dá um erro no mysql_fetch_array($SQL)...

Alguém pode postar o código completo???

Sou novo no pedaço...

Valeu galera!!!!! biggrin.gif

Link to comment
Share on other sites

  • 0

você não precisa criar o campo valor total...veja só:

$SQL = "SELECT SUM(valor) as valortotal FROM Tabela";

$row= mysql_fetch_array($SQL);

$valor_total = $row['valortotal'];

echo "o valor total é $valor_total";

a 1ª linha: o as valortotal significa como um novo nome.por ex.:seleciona talcampo as talnome....

você pode mudar aquele valor total por outro nome,veja:

$SQL = "SELECT SUM(valor) as totalvalor FROM Tabela";

$row= mysql_fetch_array($SQL);

$valor_total = $row['totalvalor'];

echo "o valor total é $valor_total";

e mais, se você quiser, nem precisa usar o as...

$SQL = "SELECT SUM(valor) FROM Tabela";

$row= mysql_fetch_array($SQL);

$valor_total = $row[0];

echo "o valor total é $valor_total";

vê se dá certo agora... wink.gif

Link to comment
Share on other sites

  • 0

cara, não conheco o esquema do sum() no query sql, mas se voce quer fazer no codigo, usando o algoritmo que mandei, ficaria algo nesse estilo:

$soma = 0; // valor nulo pra uma soma

while($f = pg_fetch_array($result)) // ou mysql_fetch_array(), pois uso postgres

{

$soma = $soma + $f[valor]; /* soma o valor já calculado com o valor da linha atual da busca */

}

imagino que se voce tem a coluna valor na tabela voce não precisa da coluna valortotal.

as poucas experiencias que fiz com esse codigo deram certo.

Link to comment
Share on other sites

  • 0

Tá dando esse erro:

Warning:Supplied argument is not a valid MySQL result resource in c:/apache/ on line 7...

Na linha 7 tá o mysql_fetch_array($SQL);

Não sei porque tá dando esse erro...

Tem alguma coisa q eu to errando no criar a tabela?? Sei lá, já tem dois valores inseridos nela,,, 15 e 30...

Pra criar a tabela eu criei isso:

create database Tabela;

depois fiz isso:

use Tabela;

create table Table (valor char(20));

insert into Tabela (valor) values (15);

insert into Tabela (valor) values (30);

Link to comment
Share on other sites

  • 0

vai um exemplo completo, tá funcionando:

para criar a tabela:

create table teste(

descricao varchar(50),

preço varchar(20)

);

teste.php

require("conecta.php");

$sql = mysql_query("Select sum(preço) from teste") or die ("erro de sql:".mysql_error());

$row = mysql_fetch_array($sql);

echo $row[0];

sendo q conecta.php é o arquivo q faz a conexão com o banco...

outra forma de fazê-lo

teste1.php

require("conecta.php");

$sql = mysql_query("Select sum(preço) as total from teste") or die ("erro de sql:".mysql_error());

$row = mysql_fetch_array($sql);

echo $row['total'];

ambas as formas funcionaram aqui, vê se dá certo agora! wink.gif

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...