Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
como faço para somar arrays que estão dentro de um laço FOR?
por exemplo tenho
$total_mes[$i], o $i é o indice que vai de 1 a 12 para representar os meses....
além desse array tbm tenho $total_devolvidos[$i] e $duplicatas[$i]
preciso fazer $total_mes - $total_devolvidos + $duplicatas para cada mes...
o total geral eu consegui, só o total de cada mês que não estou conseguindo, eu tentei usar o array_sum() mas a cada iteração ele continua somando os valores do mês anterior
<?php
foreach($_POST AS $key => $value) { ${$key} = $value; }
foreach($_GET AS $key => $value) { ${$key} = $value; }
include_once("classes/db.class.php");
include_once("classes/login.class.php");
include_once("classes/diadasemana.php");
$login = new Usuario();
$login->Verifica();
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>.:: Intranet Futuritty ::.</title>
<style type="text/css"> a {text-decoration:none;} </style>
<link href="css/style.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
</head>
<body bgcolor="#FFFFFF" link="#000000" vlink="#000000" alink="#000000" leftmargin="0" topmargin="0" rightmargin="0" bottommargin="0" marginwidth="0">
<div align="center">
<table width="1000" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><?php include ("topo.php"); ?></td>
</tr>
</table>
<table width="1000" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="153" height="450" align="left" valign="top">
<?php
include ("menu.php");
?>
</td>
<td width="850" align="center" valign="top" class="textonormal">
<table width="181" border="0" cellpadding="0" cellspacing="0" class="textonormal">
<tr>
<td width="85"><strong>Digite o ano:</strong></td>
<td width="96">
<form action="" method="post">
<input name="ano" type="text" id="ano" size="4">
<input type="submit" name="button" id="button" value="OK">
</form>
</td>
</tr>
</table>
<strong><br>
ANO: </strong>
<?php
if(empty($ano)){
$ano = date('Y');
echo $ano;
}else{
$ano = $_POST['ano'];
echo $ano;
}
?>
<br>
<table cellpadding="0" cellspacing="0" border="1" class="textonormal" width="795" style="border:1px solid #CCCCCC; border-collapse:collapse;" bordercolor="#CCCCCC">
<thead>
<tr>
<td width="47" height="25" bgcolor="#999999"><div align="center"><strong>Mês</strong></div></td>
<td width="104" bgcolor="#999999"><div align="right"><strong>Total chq</strong></div></td>
<td width="52" bgcolor="#999999"><div align="center"><strong>Qtde chq</strong></div></td>
<td width="100" align="center" bgcolor="#999999"><strong>Chq devolvidos</strong></td>
<td width="115" align="center" bgcolor="#999999"><strong>Valor duplicatas</strong></td>
<td width="90" align="center" bgcolor="#999999"><strong>Juros</strong></td>
<td width="73" align="center" bgcolor="#999999"><strong>Consultas</strong></td>
<td width="97" align="center" bgcolor="#999999"><strong>Dizimados</strong></td>
<td width="97" align="center" bgcolor="#999999"><strong>Total</strong></td>
</tr>
</thead>
<tbody>
<?php
$sql = new ConectaBD();
$sql->conecta();
$classData = new Diadasemana();
for($i = 1;$i <= 12;$i++){
$sql->query("SELECT
l.`id_itens`,l.`id_lote`,l.`nro_banco`, l.`valor`, l.`valor_desconto`, l.`dias_compensacao`,
l.`preco_consulta`, l.`emissao`, l.`vencimento`, l.`dizimado`, l.`tipocheque`, l.`statusdevolvido`,
DATE_FORMAT(l.vencimento,'%d/%m/%Y') as venc,DATE_FORMAT(l.vencimento,'%m') as mes
FROM lote_itens l
WHERE DATE_FORMAT(l.vencimento, '%Y') = '".$ano."'
AND DATE_FORMAT(l.vencimento, '%m') = '".'0'.$i."'
ORDER BY DATE_FORMAT(l.vencimento, '%m')
");
$qtd_chq = $sql->numrows(); //qtd total de cheques do mês
$qtd_total += $qtd_chq; //qtd total de cheques
while($reg = $sql->resultado()){
//SOMA TUDO menos os devolvidos
if($reg['statusdevolvido'] == "N" && $reg['nro_banco'] != "010" ){
$total_geral += $reg['valor'];
}
//SOMA DUPLICATAS
if($reg['nro_banco'] == "010"){
$total_dup[$i] += $reg['valor'];
$total_duplicatas += $reg['valor'];
}
//SOMA DEVOLVIDOS
if($reg['statusdevolvido'] == "S"){
$total_dev[$i] += $reg['valor'];
$total_devolvidos += $reg['valor'];
}
//SOMA DIZIMADOS
if($reg['dizimado'] == "S"){
$total_dizimado[$i] += $reg['valor'];
$total_dizimados_geral += $reg['valor'];
}
//Total do relatório do mês
$total_mes[$i] = ($total_geral - $total_devolvidos)+$total_duplicatas;
if($i == $i && $reg['statusdevolvido'] == "N"){
$total[$i] += $reg['valor'];
$total_consulta[$i] += $reg['preco_consulta'];
$total_consulta_geral += $reg['preco_consulta'];
$classData->getDia($reg['vencimento']);
$coddia = $classData->codDia;
$compensacao = $reg['dias_compensacao'];
$select_feriado = mysql_query("SELECT * FROM feriados WHERE data = '".$reg['venc']."'");
if(mysql_num_rows($select_feriado) == 0){
$compensacao = $reg['dias_compensacao'];
}else{
$compensacao = $reg['dias_compensacao'] + 1;
}
$porcentagem = $reg['valor_desconto']/100;
$emissao = explode('-',$reg['emissao']);
$vencimento = explode('-',$reg['vencimento']);
$dia_emissao = mktime(0,0,0,$emissao[1],$emissao[2],$emissao[0]);
$venc_emissao = mktime(0,0,0,$vencimento[1],$vencimento[2],$vencimento[0]);
$dias = $venc_emissao - $dia_emissao;
if($coddia == '0'){// se o dia for sabado acrescenta um dia
$compensacao = $compensacao + 1;
$dias = $dias / (60 * 60 * 24);
$dias = abs($dias);
$dias = floor($dias);
}
elseif($coddia == '6'){// se o dia for domingo acrescenta dois dias
$compensacao = $compensacao + 2;
$dias = $dias / (60 * 60 * 24);
$dias = abs($dias);
$dias = floor($dias);
}
else{
$dias = $dias / (60 * 60 * 24);
$dias = abs($dias);
$dias = floor($dias);
}
$dias_comp = $dias + $compensacao;
$total_dia = ($reg['valor'] * $porcentagem) / 30;
$total_juros = $total_dia * $dias_comp;
$juros_total[$i] += $total_juros;
$juros_total_geral += $total_juros;
}
$total_relatorio = ($total_geral - $total_devolvidos)+$total_duplicatas;
}//fim while
?>
<tr>
<td height="25" align="center" bgcolor="<?php if($i % 2){ echo "#F0F0F0";}?>"><?php echo "<strong>".$classData->getMes("0".$i)."<strong>"; ?></td>
<td bgcolor="<?php if($i % 2){ echo "#F0F0F0";}?>" align="right">
<?php
echo "R$ ".number_format($total[$i],2,',','.');
?>
</td>
<td bgcolor="<?php if($i % 2){ echo "#F0F0F0";}?>" align="center"><?php echo $qtd_chq ?></td>
<td bgcolor="<?php if($i % 2){ echo "#F0F0F0";}?>" align="right"><?php echo "R$ ".number_format($total_dev[$i],2,',','.') ?></td>
<td bgcolor="<?php if($i % 2){ echo "#F0F0F0";}?>" align="right"><?php echo "R$ ".number_format($total_dup[$i],2,',','.') ?></td>
<td bgcolor="<?php if($i % 2){ echo "#F0F0F0";}?>" align="right"><?php echo "R$ ".number_format($juros_total[$i],2,',','.') ?></td>
<td bgcolor="<?php if($i % 2){ echo "#F0F0F0";}?>" align="right"><?php echo "R$ ".number_format($total_consulta[$i],2,',','.') ?></td>
<td bgcolor="<?php if($i % 2){ echo "#F0F0F0";}?>" align="right"><?php echo "R$ ".number_format($total_dizimado[$i],2,',','.') ?></td>
<td bgcolor="<?php if($i % 2){ echo "#F0F0F0";}?>" align="right"><?php echo "R$ ".number_format($total_mes[$i],2,',','.') ?></td>
</tr>
<?php
}
$sql->fechar();
?>
</tbody>
<tfoot>
<tr>
<td height="25" bgcolor="#B9E3FF" align="center"><strong>Total:</strong></td>
<td bgcolor="#B9E3FF" align="right"><strong><?php echo "R$ ".number_format($total_geral,2,',','.') ?></strong></td>
<td bgcolor="#B9E3FF" align="center"><strong><?php echo $qtd_total ?></strong></td>
<td bgcolor="#B9E3FF" align="right"><strong><?php echo "R$ ".number_format($total_devolvidos,2,',','.') ?></strong></td>
<td bgcolor="#B9E3FF" align="right"><strong><?php echo "R$ ".number_format($total_duplicatas,2,',','.') ?></strong></td>
<td bgcolor="#B9E3FF" align="right"><strong><?php echo "R$ ".number_format($juros_total_geral ,2,',','.') ?></strong></td>
<td bgcolor="#B9E3FF" align="right"><strong><?php echo "R$ ".number_format($total_consulta_geral,2,',','.') ?></strong></td>
<td bgcolor="#B9E3FF" align="right"><strong><?php echo "R$ ".number_format($total_dizimados_geral,2,',','.') ?></strong></td>
<td bgcolor="#B9E3FF" align="right"><strong><?php echo "R$ ".number_format($total_relatorio,2,',','.') ?></td>
</tr>
</tfoot>
</table>
</td>
</tr>
</table>
<?php include ("rodape.php"); ?>
</div>
</body>
</html>Carregando comentários...