Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Tenho uma tabela com a seguinte estrutura:
ID ID_EMPRESA MES ANO ACESSO NOME_CONTA SALDO_FINAL
estou tentado gerar um relatório que recebe de uma página anterior o ano que se esta trabalhando, depois dentro da página do relatório é selecionado o mês.
se tenho apenas o mês de um ano o relatório gera corretamente, mas se tenho um mesmo mês em dois anos diferentes o relatório não gera corretamente, o último valor do ano anterior segue repetindo e o nome das contas de acesso começar a repetir novamente
<COMO ESTA SAINDO>
ACESSO 2012 2013
ACESSO1 1
ACESSO2 2
ACESSO3 3
ACESSO1 3 4
ACESSO2 3 5
ACESSO3 3 6
<COMO DEVERIA SER>
ACESSO 2012 2013
ACESSO1 1 4
ACESSO2 2 5
ACESSO3 3 6
<?php
if(file_exists("init.php")) {
require "init.php";
} else {
echo "Arquivo init.php nao foi encontrado";
exit;
}
if(!function_exists("Abre_Conexao")) {
echo "Erro o arquivo init.php foi alterado, nao existe a função Abre_Conexao";
exit;
}
Abre_Conexao();
?>
<form action="#" method="POST">
<input type="hidden" name="id" value="<?php echo isset($_GET['id']) ? $_GET['id'] : ''; ?>" />
<input type="hidden" name="ano" value="<?php echo isset($_GET['ano']) ? $_GET['ano'] : ''; ?>" />
<select name="mes" id="mes" type="text">
<option>Selecione Mes</option>
<option value="01">Janeiro</option>
<option value="02">Fevereiro</option>
<option value="03">Marco</option>
<option value="04">Abril</option>
<option value="05">Maio</option>
<option value="06">Junho</option>
<option value="07">Julho</option>
<option value="08">Agosto</option>
<option value="09">Setembro</option>
<option value="10">Outubro</option>
<option value="11">Novembro</option>
<option value="12">Dezembro</option>
</select>
<input type='submit' value='enviar' />
</form>
<?php
if( $_SERVER["REQUEST_METHOD"] == "POST"){
$id = $_POST["id"];
$mes = $_POST["mes"];
$ano_atual = $_POST["ano"];
$ano_anterior = $ano_atual-1;
$saldo_final_anterior="";
$saldo_final_ano="";
$porcento_anterior="";
$porcento_ano="";
$query = mysql_query ("SELECT * FROM balancete WHERE (classificador LIKE '1%') AND (id_empresa=$id) AND (mes=$mes) AND (saldo_final!=0)");
echo "
<table width=\"100%\" border=\"1\">
<tr>
<td>Nome Conta</td>
<td>$ano_anterior</td>
<td>%</td>
<td>$ano_atual</td>
<td>%</td>
</tr>";
}$ano = $row["ano"];
$acesso = $row["acesso"];
$classificador = $row["classificador"];
$saldo_final = $row["saldo_final"];
if ($acesso=='10000'){
$ativo = $saldo_final*(-1);
}
if($ano==$ano_anterior){
$saldo_final_anterior = number_format($row["saldo_final"]*(-1), 2, ",", ".");
$nome_conta = $row["nome_conta"];
if ($acesso=='10000'){
$porcento_anterior = '100%';
} else {$porcento_anterior = number_format ($saldo_final/$ativo*100,2).'%'; }
}
if($ano==$ano_atual){
$saldo_final_ano = number_format($row["saldo_final"]*(-1), 2, ",", ".");
$nome_conta = $row["nome_conta"];
$classificador = $row["classificador"];
if ($acesso=='10000'){
$porcento_ano = '100%';
} else {$porcento_ano = number_format ($saldo_final/$ativo*100,2).'%'; }
}
echo "
<tr>";
if ($acesso==10000) {
echo" <td style='background-color:orange;'>$nome_conta</td>";
} else if (substr($classificador, -8)== '00000000') {
echo" <td style='background-color:green;'>$nome_conta</td>";
} else if (substr($classificador, -6)== '000000') {
echo" <td style='background-color:red;'>$nome_conta</td>";
} else if (substr($classificador, -4)== '0000') {
echo" <td style='background-color:purple;'>$nome_conta</td>";
}
else {echo" <td style='background-color:blue;'>$nome_conta</td>";}echo"
<td>$saldo_final_anterior</td>
<td>$porcento_anterior</td>
<td>$saldo_final_ano</td>
<td>$porcento_ano</td>
</tr>\n";
}
@mysql_close();
?>Carregando comentários...