Ir para conteúdo
Fórum Script Brasil
  • 0

Imprimir valores em colunas (Análise Horizontal)


r0drig0

Pergunta

tabela.gif

Preciso montar uma tabela de Análise Horizontal que faz acesso à 4 tabelas, ela deverá conter 13 colunas. .

A tabela acima faz acesso à 4 tabelas, sendo elas:

- a linha com fundo preto imprime a descrição da tabela Plano de Contas 1;

- a linha de fundo Cinza Escuro imprime a descrição da tabela Plano de contas 2;

- a linha de fundo cinza claro imprime a descrição da tabela Plano de contas 3;

- e a linha de fundo branco imprime a descrição da tabela contas (Contas a pagar)

As três tabelas de Plano de Contas se relacionam em forma de categoria.

A coluna Plano de Contas eu já consegui buscar no banco e deu certo, mas agora preciso lançar os valores referentes a cada mês, sendo de forma que:

- na linha branca venha o valor da tabela Contas lançado no Contas a pagar;

- na linha cinza claro vem a soma de todos os registros lançados na tabela contas(linha branca) referentes a cada mês;

- na linha cinza escuro deve vir a soma de todos os registros impressos na linha cinza claro;

- e na linha preta a soma dos registros da linha cinza escuro.

Oque devo fazer:

A consulta será feita na tabela contas pra pegar o valor e a data. A data está no formato “YYYY/MM/DD”, e preciso extrair dela somente o mês em primeiro momento para posteriormente ser comparado com o mês da coluna proveniente , o ano poderá ser filtrado num select acima da tabela.

Favor montar a estrutura adequada para impressão dos valores nas colunas de Janeiro a Dezembro.

Já existe uma estrutura pronta, vários Foreache.

Preciso somente da parte que varre a linha, imprindo os valores referentes a cada mês.

Preciso somente do código necessário para cada cor de linha, ou seja, primeiro faz a linha branca, depois a cinza clara , cinza escuro e por fim a preta, lembrando que foi especificado acima, o que cada cor especifica na tabela.

Espero ter sido claro nas informações, desde já agradeço.

[]’s

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Bom dia, r0drig0!

Pelo que estou vendo você não tem muita familiaridade com BD. Imagino que você esteja usando Mysql.

Uma sugestão para você obter ajuda efciente, seria você informar o seguinte:

Tabela A, quero tal e tal campo;

Tabela B, quero tal e tal campo; e assim por diante

As relações entre as tabelas devem ser bastante claras, para efetuar a consulta que vai abastecer seu gráfico acima.

Exemplo:

$mistura = "SELECT a.campo1, b.campo2, c.campo3, d.campo4 FROM tabelaa a, tabelab b, tabelac c, tabelad d WHERE Aqui você desenvolve como vai pegar esses dados";

$exe_mistura = mysql_query($mistura);

$qtd_mistura = mysql_num_rows($exe_mistura );

IF ($qtd_mistura>=1)

{

$resul_mistura = mysql_fetch_array($exe_mistura );

De posse do resultado você preenche seu gráfico.

Abraços

}

Link para o comentário
Compartilhar em outros sites

  • 0

Pessoal,

Segue o código da página utilizada, não vou postar as classes utilizadas porque é muito grande e desnecessário. Segue o list.php.

<?

$tipocontas3 = new TipoContas();
$tipocontas3->getValoresMensais();
$arrPlanoConta1 = CadPlanodeContas::todos();
$sql = $core->queryDB( "SELECT
                        DATE_FORMAT(DataVencimento,'%m') AS Mes, sum(Valor) as val
                FROM
                        contas
                WHERE
                           DATE_FORMAT(DataVencimento,'%m') = 09
                        AND     DATE_FORMAT(DataVencimento,'%Y') = 2010");
?>

<?

echo "<table cellpadding='5%' border='1'>";
echo"
    <tr style='background-color:pink'>
    <td>ITEM</td>
    <td>Janeiro</td>
    <td>Fevereiro</td>
    <td>Março</td>
    <td>Abril</td>
    <td>Maio</td>
    <td>Junho</td>
    <td>Julho</td>
    <td>Agosto</td>
    <td>Setembro</td>
    <td>Outubro</td>
    <td>Novembro</td>
    <td>Dezembro</td>
    </tr>
";

foreach ($arrPlanoConta1 as $p1 => $PlanoContas1) {
    echo "<tr style='background-color:#000; color:#FFF;'>";
    echo "<td><strong>{$PlanoContas1->getDescricao()}</strong></td>";
    echo "</tr>";
    foreach ($PlanoContas1->planoContas2 as $p2 => $PlanoContas2) {
        echo "<tr style='background-color:#CCC; color:#000;'>";
        echo "<td>{$PlanoContas2->getDescricao()}</td>";
        echo "</tr>";
        foreach ($PlanoContas2->planoContas3 as $p3 => $PlanoContas3) {
            
                echo "<tr color:#000;'>";
                echo "<td>{$PlanoContas3->getDescricao()}</td>";
                if($sql->_numOfRows>0){
                while (!$sql->EOF) {
                echo "<td>{$sql->fields['val']}</td>";

                    $sql->MoveNext();
            }
                }
                echo "</tr>";
            }
        }
    }

echo "</table>";

?>

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...