Ir ao conteúdo
  • Cadastre-se

Consulta q mostre saldo acumulado em relatório


Joel zsbit

Posts recomendados

Relatório com saldo acumulado

Estou fazendo um sisteminha financeiro praticamente tudo em PHP usando o banco mysql ...

funciona assim com os seguintes campos:

'data'

'Evento' (aqui através do evento que faço os calculos se ele soma ou diminui do caixa,

ex. o evento 201 soma no caixa e o evento 203 diminui do caixa)

'Histórico'

'Valor'

com isso eu consigo por exemplo fazer uma consulta no banco só do evento 201 e só do evento 203

ai tenho o saldo atual=(total do evento 201 (-) total do evento 203) até ai tudo bem..

O problema está quando vou fazer o saldo acumulado... pois no relatório eu faço uma consulta no banco

pra me mostrar os lançamentos... só que agora quero que apareça o saldo acumulado no relatório.

Lembrando que no banco não tem a coluna saldo acumulado pois queria que mostrasse somente no relatório.

exemplo de relatório:

DATA................EVENTO.......HISTORICO ........VALOR........ SALDO ACUM

01/01/2011.......201..............entrada caixa.....10,00......... 10,00

01/01/2011.......201..............entrada caixa.....15,00......... 25,00

01/01/2011.......203..............saida caixa..........5,00 ........ 20,00

Link para o comentário
Compartilhar em outros sites

Pessoal achei algo parecido:

$sql="select valor_nf from tb_nota_fiscal";

$executa=mysql_query($sql);

$soma=0;

$i = 0;

while($resultado=mysql_fetch_assoc($executa)){

//Se for a primeira linha, o acumulado é o proprio valor da NF

$acumulado = ($i == 0) ? $resultado['valor_nf'];

$acumulado+$resultado['valor_nf'];

//na proxima varredura do loop, $acumulado ficara

//com o valor da NF da linha anterior

$acumulado = $resultado['valor_nf'];

//Faz a soma total

$soma+=$resultado['valor_nf'];

echo "<tr>";

echo "<td>";

echo "Linha: " . $i;

echo "</td>";

echo "<td>";

echo $soma;

echo "</td>";

echo "<td>";

echo $acumulado;

echo "</td>";

echo "</tr>";

$i++;

}

mas o problema coloquei para testar mas não funcionou ... acho que ou o código está errado ou falta algo ai... se alguem souber o que está errado q poste ai.

Link para o comentário
Compartilhar em outros sites

<table width="20%" cellpadding=1 cellspacing=1 style="margin-left:auto; margin-right:auto; text-align:center; font-size:10px";>

<tr bgcolor="#999999" style="color:#FFF;">

<td align="center">acumulado</td>

</tr>

<?php

//evento 201, 202 e 206 são entrada de caixa

//evento 203 e 205 são debito de caixa

$sql="SELECT valor FROM tb_cad_caixa WHERE evento='203' or evento='205'";

$executa=mysql_query($sql);

$soma=0;

$i=0;

while($resultado=mysql_fetch_assoc($executa)){

//Se for a primeira linha, o acumulado é o proprio valor

//na proxima varredura do loop, $acumulado ficara

//com o valor da linha anterior

$acumulado = $resultado['valor'];

//Faz a soma total

$soma+=$resultado['valor'];

echo "<tr>";

echo "<td>" .$soma. " </td>";

echo "</tr>";

$i++;

}

?>

<tr bgcolor="#999999">

<td>.</td>

</tr>

</table>

Com o codigo que está ai consegui fazer o saldo somando então ele mostra assim:

EVENTO........VALOR...... SALDO

201..............10............ 10

206..............25 ........... 35

203 ..............5............. 40

203............. 20 ........... 60

... mas ainda não está como eu queria (pois o evento 203 tem que diminuir e não somar como está ai). Agora como eu faço esse calculo neste codigo ai?

Tentei fazer um select somente do que soma e depois outro que só diminui mas não deu certo.

Link para o comentário
Compartilhar em outros sites

Arquivado

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

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!