Ir para conteúdo
Fórum Script Brasil
  • 0

Sum(campo)


junaooaks

Pergunta

ai galera to tendo um problema com uma conta na minha consulta

de acordo com o registro cadastro no banco de dado a consulta teria que me retorna "21.92" mas ela esta me retornando "200"

o que eu posso fazer? e porque que esta dando isto ?

cod da pagina:

<?php

$vendedor = $_POST["vend"];

$mês = $_POST["me"];

$ano = $_POST["an"];

//conexao com o banco de dado sisgew

$conn = mysql_connect('localhost', 'root', '123');

$db = mysql_select_db("sisgew")

or die ("não HÀ BANCO DE DADO!");

//consulta sql no banco de dado

$sql = "select p.cod_pedido, p.mês, p.ano, c.nome, v.nome_vend

from pedido p, cliente c, vendedor v

where v.cod_vendedor = '$vendedor'

and p.mês = '$mês'

and p.ano = '$ano'

and c.cnpj = p.cnpj

and p.cod_vendedor = v.cod_vendedor

group by p.cod_pedido, p.mês, p.ano, c.nome, v.nome_vend

";

$result = @mysql_query($sql);

if (!$result)

{

echo "ERRO NA CONSULTA:sql" . mysql_error();

exit;

}

if(mysql_num_rows($result) == 0)

{

echo "Nada foi encontrado para a consulta";

exit;

}

$ros= mysql_fetch_assoc($result);

$result = @mysql_query($sql);

if (!$sql)

echo "ERRO NA CONSULTA:sql" . mysql_error();

while($linha=mysql_fetch_array($result)){

$mysql=select sum(i.valor_vendido) as vendido, sum(pro.valor) as valor

from itens i, produto pro

where i.cod_pedido ='".$linha['cod_pedido]."'

group by pro.produto";

};

$my = @mysql_query($mysql);

if (!$mysql) //Se não rolou a query

echo "ERRO CONSULTA: mysql" . mysql_error();

//resulta na tela

$row = mysql_fetch_assoc($my);

echo $row['vendidas']; // este valor não esta sendo retornado não sei o porqueecho $row['valor]; // este valor esta me retornado valor errado "21.92" esta me retornado "200"echo $row['produto']; // este valor não esta sendo retornado não sei o porque

echo $row['cod_produto]; // este valor não esta sendo retornado não sei o porque

?>

Link para o comentário
Compartilhar em outros sites

9 respostass a esta questão

Posts Recomendados

  • 0

se você quiser o "." use o tipo float, se você usar int ele ele vai ignorar o "." para valores o melhor é o float.

ou você usa o int, e na apresentação usa o number_format() do php para colocar como valor montário.

Link para o comentário
Compartilhar em outros sites

  • 0
Qual é a estrutura do seu database?

com 5 tabela:

cliente: cnpj, nome, telefone ...

itens: cod_itens, cod_pedido, cod_produto, valor_vendido

pedido: cod_pedido, cod_vendedor, cnpj, mês, ano, data

produto: cod_produto, produto, valor

vendedor: cod_vendedor, nome_vend, tel

os campos que recebe valores como "produto.valor" e "itens.valor_vendido" estao como FLOAT

os campo de caracter estao como VARCHAR

os campo : cnpj, cod_itens, cod_pedido, cod_produto, cod_vendedor, estao com FK PRIMARIA

o campo data esta como DATE

Link para o comentário
Compartilhar em outros sites

  • 0
De onde você tirou o echo $row['vendidas']; ?

$mysql="select sum(i.valor_vendido) as vendido, sum(pro.valor) as valor

este aqui eu coloquei errado a variavel "obrigado :lol:

Você pode tentar jogá-los como decimal.

eu coloquei como dcimal

as colunas vl_tabela e vl_vendido estao me retornado valores

mas so que não me estao voltando os valores corretos

ex: na coluna vl_tabela era pra me retorna 155.36 e esta me retornando 200

na coluna vl_vendido era pra me retorna 21.92 e esta me retornando 21

alem dele não esta me retornado o valor correto ele ainda não esta retornado os numeros depois do ponto "."

alem dele não esta me retornado o valor correto ele ainda não esta retornado os numeros depois do ponto "."

ai galera isto aqui era porque la no banco de dado eu mudei para decimal (10,0) eu alterei e resolveu (10,2)

agora o motivo que ele esta somando os campos errados do vl_tabela eu não sei era pra restorna 155.36 e esta me retornando 200.00

se alguém poder da um help nisto ai eu agradeço

este valor 200.00 esta sendo somado ma minha tabela de produto.valor mas era pra somar somente 155.36

Link para o comentário
Compartilhar em outros sites

  • 0

ai galera, passei a noite toda tentendo resolver o problema da soma mas to sem solução

se alguém poder da uma atenção aqui pra mim eu agradeço de coração

codigo da consulta que retorna a soma e este:

while($linha=mysql_fetch_array($result)){

$mysql="select sum(i.valor_vendido) as vendido, sum(pro.valor) as valor

from itens i, produto pro

where i.cod_pedido ='".$linha['cod_pedido']."'

group by pro.produto";

};

$my = @mysql_query($mysql);

if (!$mysql) //Se não rolou a query

echo "ERRO CONSULTA: mysql" . mysql_error();

//resulta na tela

$row = mysql_fetch_assoc($my);

echo $row['pro.valor];

?>

onde esta de vermelho e a soma que esta me retornado o valor errado de acordo com o banco de dado, a soma de azul me retorna o resultado correto

ex: pedido "149" tem os produtos "801,802,803" o preço do produto(pro.valor) retorna um valor diferente com do banco de dado, onde esta azul que e a venda esta correto.

agradeço a atenção

Editado por junaooaks
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...