Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

3dmaniaco

[Resolvido] Operações Matematicas

Recommended Posts

http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Falae Pessoal. Tudo jóinha http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

 

Pessoal, to rachando minha cuca já rrsss.

 

Eu to precisando de uma ajudinha de vocês !!!!

 

É o seguinte:

 

Eu criei no MySql uma tabela chamada PREÇOS, dai os valores gravado na tabela PREÇOS, são exibidos na pagina PHP, e cada vez que a pessoa clica nos valores, ele é salvo na tabela chamada COMPRAS, e assim sucessivamente até comcluir as compras.

 

E criei uma tabela chamada USUARIO, ok

 

---------------------------------------------------------------------------------------------------------

COMPRAS - Essa tabela grava todas as compras dos visitantes

USUARIO - Essa tabela grava o nome de quem fez a compra, para depois filtrar as compras do mesmo usuário.

---------------------------------------------------------------------------------------------------------

 

Eu queria que o PHP pegasse todos os valores da tabela COMPRAS, de um mesmo USUARIO, e fizesse uma SOMA e exibisse na minha pagina PHP.

 

Qual a melhor forma de se fazer isso ?!?!?

 

Desde já, muito obrigado

Gilliard B. Santos

Compartilhar este post


Link para o post
Compartilhar em outros sites

SUM(valor) = soma o campo entre parentese - GROUP BY usuario_id = vai unir todas as linhas do id que passar

 

enfim a linha quer dizer

some todos os campos "valor" onde o id do usuario for igual a usuario_id

 

você pode fazer assim

$sql = mysql_query("SELECT SUM(valor) as soma FROM compras GROUP BY $id_usuario");
$linha = mysql_fetch_array($sql);
echo "Soma = R$ ".$linha['soma'];

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal, me desculpe a minha ignorância, mas é a primeira vez, que eu faço a soma de valores dentro de um BD em MySql.

 

Eu queria saber o seguinte:

 

Eu coloquei a query no MySql, dai ele faz a soma e talz.

 

Oque eu não estou entendendo, é como que será exibido o resultado da SOMA realizado pela query mysql ?

 

Ele grava em um campo na tabela do mysql ?

 

É isso ?!?!?

 

Me desculpe pessoal, mas é que não entendi ainda, esses detalhes acima.

 

Valew pessoal pela força.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ñ o banco n grava isso, apenas faz a operação e retorna o que foi pedido

você apenas armazena na variável a sua pesquisa conforma eu dei exemplo anteriormente

vou tentar te explicar melhor

//executo a query, ou seja a busca no banco e armazeno a consulta na variável $sql
$sql = mysql_query("SELECT SUM(valor) as soma FROM compras GROUP BY $id_usuario");
//com mysql_fetch_array extrai da variável $sql a consulta e joga uma linha na variável $linha
$linha = mysql_fetch_array($sql);
//imprimo o resultado, $linha['soma'] é o campo que fez a soma
echo "Soma = R$ ".$linha['soma'];

Compartilhar este post


Link para o post
Compartilhar em outros sites

Huummm entendi.

 

$sql = mysql_query("SELECT SUM(valor) as soma FROM compras GROUP BY $id_usuario");

Então esse comando acima faz o seguinte:

 

Abre a Tabela COMPRAS, seleciona todos os ID's iguais no campo ID_USUARIO, pega todos os valores contidos no campo VALOR, soma tudo.

 

E atravez do comando ECHO, exibe na pagina PHP.

 

É isso ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

isso msm, outros exemplos

 

 

SUM(campo) = soma
AVG(campo) = faz a média
MAX(campo) = acha o maior valor
MIN(campo) = acha o menor valor
esses comandos trabalham em conjunto com "group by" que serve para juntar um determinado campo escolhido, no caso você escolheu juntar por id iguais

 

e o echo serve para jogar na tela.

 

existe muita coisa na net explicando sobre isso

 

seja mais curioso e pesquise

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu estava testando aqui os exemplos, e eu parei para pensar, como eu iria passar os parametros, para somente somar os valores de um determinado usuário, dai seguei a seguinte conclusão:

 

Vou passar os parametros pela URL, mas dai surgiu outra duvida:

 

Como eu faço para informar para o PHP, que:

 

Isso

 

$id_usuario

 

é igual a isso

 

$_SESSION['MM_Username']

 

Toda ajuda será muito bem vinda !!!!

 

Desde já, muito obrigado a todos !!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

OK. Quando o usuário fizer o login, ele será encaminhado para uma pagina chamada shop.php, e nessa pagina, eu inseri essa SESSION $_SESSION['MM_Username'], que mostra o nome do usuário logado.

 

E eu queria usuar essa SESSION $_SESSION['MM_Username'], para identificar e filtrar somente as compras do usuário logado.

 

E seguindo o exemplo que vocês me deram aqui, que seria o seguinte:

 

$sql = mysql_query("SELECT SUM(valor) as soma FROM compras GROUP BY $id_usuario");

A instrução $id_usuario filtraria os id's do mesmo usuário para fazer a soma, dai eu queria usar a SESSION $_SESSION['MM_Username'] para fazer a filtragem, e queria informar ao PHP que $id_usuario pegue o valor de $_SESSION['MM_Username'], que é o nome do usuário logado.

 

não sei se eu fui muito claro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

manda a estrutura das tabelas compras e usuarios

mas a lógica da busca no banco é essa

$sql = mysql_query("SELECT SUM(c.valor) as soma FROM compras c inner join usuarios u on c.id_usuario = u.id where u.nome = $_SESSION['MM_Username'] GROUP BY c.id_usuario");

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.