3dmaniaco 1 Denunciar post Postado Abril 10, 2010 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
Jaime_Pinheiro 0 Denunciar post Postado Abril 10, 2010 SELECT SUM(valor) FROM compras GROUP BY usuario_id Compartilhar este post Link para o post Compartilhar em outros sites
3dmaniaco 1 Denunciar post Postado Abril 10, 2010 SELECT SUM(valor) FROM compras GROUP BY usuario_id Não entendi, como vou somar os valores ?!?!? Compartilhar este post Link para o post Compartilhar em outros sites
Victor Cometti 8 Denunciar post Postado Abril 10, 2010 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
3dmaniaco 1 Denunciar post Postado Abril 11, 2010 Vou testar aqui. Mas qual a melhor forma, de exibir esse valor na pagina PHP ?!?!? Compartilhar este post Link para o post Compartilhar em outros sites
André D. Molin 15 Denunciar post Postado Abril 11, 2010 A forma que você achar mais conveniente. Eu sigo a mesma linha que o Jaime e o Vitor, fazer essa operação direto na query MySQL, mas caso queira fazer com PHP é um critério do programador. Compartilhar este post Link para o post Compartilhar em outros sites
3dmaniaco 1 Denunciar post Postado Abril 11, 2010 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
Victor Cometti 8 Denunciar post Postado Abril 11, 2010 ñ 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
3dmaniaco 1 Denunciar post Postado Abril 11, 2010 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
Victor Cometti 8 Denunciar post Postado Abril 11, 2010 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
3dmaniaco 1 Denunciar post Postado Abril 11, 2010 Huuummm agora ficou claro pra mim, muito legal !!!! Amigos, muito obrigado pela força que vocês me deram. Valew Compartilhar este post Link para o post Compartilhar em outros sites
3dmaniaco 1 Denunciar post Postado Abril 13, 2010 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
Victor Cometti 8 Denunciar post Postado Abril 13, 2010 explique melhor dando exemplo Compartilhar este post Link para o post Compartilhar em outros sites
3dmaniaco 1 Denunciar post Postado Abril 13, 2010 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
Matias Rezende 50 Denunciar post Postado Abril 13, 2010 $id_usuario = $_SESSION['MM_Username'] Assim não resolveu? Ou então colocando direto o $_SESSION na query? Carlos Eduardo Compartilhar este post Link para o post Compartilhar em outros sites
Victor Cometti 8 Denunciar post Postado Abril 14, 2010 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