Ir para conteúdo

POWERED BY:

Arquivado

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

LucasBrasil

Somar valores por registro (id) no mysql

Recommended Posts

Olá pessoal, estou começando a mexer com php e mysql e já estou tendo dificuldade, quero contar com a ajuda de vcs...

 

Tenho um sistema de cadasto de clientes e pedidos, onde os clientes tem suna propria senha e area de administracao dos pedidos, estou tendo dificuldades em somar o valor total dos pedidos e mostrar na area do cliente.

 

CLIENTE

idCliente Nome Senha

01 | Joao | 123

02 | Mario | 456

 

PEDIDO

idPedido Codigo Data_entrega Valor

01 | 01 | 12/06/10 | 50,00

02 | 01 | 15/06/10 | 100,00

03 | 02 | 13/06/10 | 70,00

Onde idCliente corresponde a Codigo. Quero fazer a soma total dos valores por cliente

 

Tentei

<?php

$selec = "select idCliente, SUM(p.valor) AS soma FROM pedido AS p LEFT OUTER JOIN cliente AS c ON p.codigo = c.idCliente GROUP BY cliente ";

$exec = mysql_query($selec, $conexao) or die(mysql_error());

?>

 

Ele esta mostrando o total de todos os clientes separadamente. Gostaria que mostrasse somente o valor do cliente logado

Ex. Cliente 01 - Total=150,00

Compartilhar este post


Link para o post
Compartilhar em outros sites

GROUP BY serve para agrupar por um tipo de campo, no caso o campo cliente, porisso lista todos.

 

você precisa passar o id do cliente pro banco entender que você quer apenas os registros daquele id, ele não tem como advinhar qual cliente está logado. rs

 

SELECT idCliente, SUM(p.valor) AS soma FROM pedido AS p LEFT OUTER JOIN cliente AS c ON p.codigo = c.idCliente WHERE p.idCliente = ".$variavel_com_id_do_cliente_logado.";

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ainda estou tendo dificuldades...

Tenho uma class pedido

 

function soma() {

$this->consulta = mysql_query("select idCliente, SUM(p.valor) AS soma FROM pedido AS p LEFT OUTER JOIN cliente AS c ON p.cliente = c.idCliente WHERE p.Cliente='.$idCliente.'") or die(mysql_error());

$this->total = mysql_num_rows($this->consulta);

if($this->total == "") {

Tela::mensagemNormal("Não existe pedido com esse id !!!");

} else {

return $this->dados = mysql_fetch_array($this->consulta);

}

}

e estou colocando para mostrar assim:

<?php $pedido->soma(); ?>

 

Nao esta me mostrando nada, aonde estou errando???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como você ta passando essa variavel -> ($idCliente) ???

 

...WHERE p.Cliente='.$idCliente.'")

você pode tambem passar o id do cliente pelo parametro do metodo soma().

 

function soma($idCliente) {
$this->consulta = mysql_query("select idCliente, SUM(p.valor) AS soma FROM pedido AS p LEFT OUTER JOIN cliente AS c ON p.cliente = c.idCliente WHERE p.Cliente='.$idCliente.'") or die(mysql_error());....

Dai chama

 

<?php $pedido->soma($id_do_cliente_a_ser_somado); ?>

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.