Ir para conteúdo

POWERED BY:

Arquivado

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

Allan Tavares

While só exibe último registro, quando preciso de todos

Recommended Posts

Bom dia a todos!

Por gentileza....eu estou montando um sistema de controle de estoque/fluxo de caixa.

Está tudo perfeito em si, inclusive nos cálculos, porém, preciso saber quanto foi lucrado por dia.

 

Pela lógica: (TOTAL DE VENDAS DO DIA (-) TOTAL DO VALOR DE LUCRO DOS PRODUTOS VENDIDOS).

 

Tenho duas tabelas: uma "estoque" onde guardo o vlaor de custo dos produtos, e outra "saida_produto" onde guardo as vendas efetuadas, preenchendo com 'qtd'(quantia vendida), 'valor_unitario' (valor vendido) e o id do produto, para dar baixa na tabela estoque.

 

Tudo PERFEITO....Se não fosse o while retornar apenas o último valor de custo, mas por que?? me ajudem por favor!

 

 

$sql = "SELECT * FROM saida_produto WHERE data_saida = '2014-05-29'"; // PEGO TODOS OS PRODUTOS VENDIDOS HOJE
$query = mysql_query($sql);

while($dados = mysql_fetch_array($query)) {

$id_produto = $dadosx['id_produto']; // ID DO PRODUTO VENDIDO
$qtd_venda = $dadosx['qtd']; // QTD QUE VENDEU

$sqlEST = "SELECT * FROM estoque WHERE id_produto = '$id_produto'"; // PEGO OS DADOS DO PRODUTO NO ESTOQUE
$queryEST = mysql_query($sqlEST);
$dadosEST = mysql_fetch_array($queryEST);


$valor_custo = $dadosEST['valor_unitario']; // VALOR DE CUSTO DO PRODUTO
$total_custo_vendido = $qtd_venda * $valor_custo; // QUANTIDADE VENDIDA X VALOR DE CUSTO

$TOTAL_VENDIDO_HOJE = 30.00; // Coloquei de exmeplo pra testar
$Total_Lucrado_Hoje = $TOTAL_VENDIDO_HOJE - $total_custo_vendido; // MOSTRA O LUCRO DO DIA


}

 

Obrigado desde já! :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Verifique logo abaixo, você armazena o resultado em $dados, depois você atribui ás variáveis os valores do vetor $dadosx:

 

while($dados = mysql_fetch_array($query)) {

$id_produto = $dadosx['id_produto']; // ID DO PRODUTO VENDIDO
$qtd_venda = $dadosx['qtd']; // QTD QUE VENDEU

Compartilhar este post


Link para o post
Compartilhar em outros sites

opa, isso aconteceu pq eu modifiquei o código antes de postar, para facilitar a leitura e o entendimento, mas na prática está certo, inclusive como dito, ele me retorna os resultados normalmente, porém, somente da última venda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Lista para mim os campos de cada tabela para eu poder ajudar você, é possível fazer tudo isto com apenas uma query e efetuando o cálculo no próprio sql, posta aí a estrutura das tabelas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Osmar, desculpe a demora....consegui efetuar a consulta numa só query!

Veja como me ensinaram:

 

"SELECT saida_produto.id_produto, saida_produto.qtd, estoque.valor_unitario FROM saida_produto INNER JOIN estoque ON saida_produto.id_produto = estoque.id_produto AND saida_produto.data_saida = '$data_convertida'"

 

aí rodei o while() com "+=" e obtive o lucro, como desejado, ficou perfeito!

 

PROBLEMA RESOLVIDO.

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.