Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Estou fazendo um fluxo de caixa e eu tenho q efetuar a soma de cada dia do periodo informado..
exemplo:
o usuário fez as seguintes movimentações:
OPERAÇÃO | VALOR | DIA DA MOVIMENTAÇÃO
---------------------------------------------------------
DÉBITO | 15,00 | 01/01/2011
DÉBITO | 55,00 | 01/01/2011
DÉBITO | 10,00 | 01/01/2011
CRÉDITO | 25,00 | 01/01/2011
DÉBITO | 35,00 | 01/01/2011
CRÉDITO | 55,00 | 01/01/2011
DÉBITO | 85,00 | 02/01/2011
DÉBITO | 75,00 | 02/01/2011
CRÉDITO | 15,00 | 02/01/2011
CRÉDITO | 85,00 | 02/01/2011
DÉBITO | 19,00 | 03/01/2011
CRÉDITO | 36,00 | 03/01/2011
DÉBITO | 78,00 | 03/01/2011
CRÉDITO | 99,00 | 04/01/2011
DÉBITO | 15,00 | 04/01/2011
e quando o usuário vai para o fluxo de caixa e o usuário informa o período de 01/01/2011 a 31/01/2011
tem q aparecer tipo assim
OPERAÇÃO | VALOR | DIA DA MOVIMENTAÇÃO
---------------------------------------------------------
DÉBITO | 15,00 | 01/01/2011
DÉBITO | 55,00 | 01/01/2011
DÉBITO | 10,00 | 01/01/2011
CRÉDITO | 25,00 | 01/01/2011
DÉBITO | 35,00 | 01/01/2011
CRÉDITO | 55,00 | 01/01/2011
-------------------------------------------------------
DÉBITO: R$ 115,00
CRÉDITO: R$ 100,00
SALDO R$ -15,00
-----------------------------------------------------
DÉBITO | 50,00 | 02/01/2011
DÉBITO | 30,00 | 02/01/2011
CRÉDITO | 15,00 | 02/01/2011
CRÉDITO | 85,00 | 02/01/2011
-----------------------------------------------------
DÉBITO: R$ 160,00
CRÉDITO: R$ 100,00
SALDO R$ 20,00
------------------------------------------------------
DÉBITO | 19,00 | 03/01/2011
CRÉDITO | 36,00 | 03/01/2011
DÉBITO | 78,00 | 03/01/2011
--------------------------------------------------------
. .
. .
. .
E ASSIM SUCESSIVAMENTE
----------------------------------------------------------
CRÉDITO | 99,00 | 04/01/2011
DÉBITO | 15,00 | 04/01/2011
TEM QUE APARECER UMA TABELA DESTA FORMA E NO FINAL APARECER O SALDO DO PERÍODO INFORMADO
SEGUE O CÓDIGO DA PÁGINA
<html>
<?php
require("conectar.php"); //chama o arquivo de conexão ao BD
?>
<html>
<head>
<title>Fluxo de Caixa</title>
<script type="text/javascript">
function Formatadata(Campo, teclapres)
{
var tecla = teclapres.keyCode;
var vr = new String(Campo.value);
vr = vr.replace("/", "");
vr = vr.replace("/", "");
vr = vr.replace("/", "");
tam = vr.length + 1;
if (tecla != 8 && tecla != 8)
{
if (tam > 0 && tam < 2)
Campo.value = vr.substr(0, 2) ;
if (tam > 2 && tam < 4)
Campo.value = vr.substr(0, 2) + '/' + vr.substr(2, 2);
if (tam > 4 && tam < 7)
Campo.value = vr.substr(0, 2) + '/' + vr.substr(2, 2) + '/' + vr.substr(4, 7);
}
}
</script>
</head>
<BODY bgcolor="#b8d3ed">
<form name="lanca_receitas" method= "post" action="fluxo_caixa.php">
<table align="center" border=0 CELLPADDING="5" CELLSPACING="0">
<tr align=center>
<td>
Data Inicial:
</td>
<td>
<input type="text" id="data1" name="data1" size=10 maxlength="10" onKeyUp="Formatadata(this,event)" required autofocus <? if($_POST){?> value=<?echo $_POST['data1']; }?> />
</td>
<td>Data Final: </td>
<td>
<input type="text" id="data2" name="data2" size=10 maxlength="10" onKeyUp="Formatadata(this,event)" required <? if($_POST){?> value=<?echo $_POST['data2']; }?> />
</td>
<td colspan="2">
<input type="submit" value="Consultar" name="consultar" >
<input type="button" name"menu_principal" value="Menu Principal" onClick="javascript:window.location.href='index.php'">
</td>
</tr>
</table>
<hr>
<?php
if($_POST)
{
function ValidaData($dat)
{
$data = explode("/","$dat"); // fatia a string $dat em pedados, usando / como referência
$d = $data[0];
$m = $data[1];
$y = $data[2];
// verifica se a data é válida!
// 1 = true (válida)
// 0 = false (inválida)
return $res = checkdate($m,$d,$y);
/*if ($res==true)
echo "data correta";
else
echo "data errada"; */
}
$data1=$_POST['data1'];
$data2=$_POST['data2'];
if (ValidaData($data1)==1)
{
if(ValidaData($data2)==1)
{
if($data1>$data2)
{
echo "<script>alert('A Data Inicial não deve ser maior que a Data Final');</script>";
}
else
{
$data1=explode("/", $data1);
$data1 = $data1[2]."-".$data1[1]."-".$data1[0];
$data2=explode("/", $data2);
$data2 = $data2[2]."-".$data2[1]."-".$data2[0];
echo "<h1> Resultado</h1> ";
?>
<table width=994 align="center" border=1>
<tr bgcolor="#000000" align="center" >
<td width="80" bgcolor="#FF0000">DATA</td>
<td width="157" bgcolor="#FF0000">OPERAÇÃO</td>
<td width="102" bgcolor="#FF0000">VALOR</td>
<td width="200" bgcolor="#FF0000">SALDO</td>
</tr>
<?
$sql=mysql_query("SELECT * FROM lancamentos WHERE data_movimentacao BETWEEN '$data1' AND '$data2' order by data_movimentacao,tipo");
$queryvalor = mysql_query("Select round(SUM(valor),2)as soma FROM lancamentos GROUP BY data_movimentacao ")or die(mysql_error());
$cont = mysql_fetch_array($queryvalor);
$total = number_format($cont["soma"],2,',','.');
while ($listar=mysql_fetch_array($sql))
{
$operacao=$listar['tipo'];
$dia=$listar['data_movimentacao'];
$dia1=explode("-", $dia);
$data = $dia1[2]."/".$dia1[1]."/".$dia1[0];
$valor=$listar['valor'];
?>
<tr align=center bgcolor="#CCCCCC">
<td bgcolor="#CCCCCC"><? echo $data ?></td>
<td bgcolor="#CCCCCC"> <? echo $operacao ?></td>
<td bgcolor="#CCCCCC">R$ <? echo number_format($valor,2,',','.'); ?></td>
<td bgcolor="#CCCCCC"> <? echo $saldo ?></td>
</tr>
<? } ?>
<tr align="center">
<TD></TD>
<TD></TD>
<td>Saldo Final: </td>
<td><? echo "R$ ".$total; ?></td>
</tr>
</table><?
}
}
else
{
echo "<script>alert('A Data Final incorreta');</script>";
}
}
else
{
echo "<script>alert('A Data Inicial incorreta');</script>";
}
}
?>
</form>
</body>
</html>
</body>
</html>Carregando comentários...