Fórum PHP e PIVOT - Como mostrar os resultados #462530

29/11/2013

0

PHP

Bom dia, estou tentando gerar uma tabela dinâmica com o PHP ai que ouvi sobre o PIVOT. Consegui a query para trazer os resultados desejados, testei no Access e deu tudo certo, porém não estou conseguindo trazer esses resultados no PHP, pois as colunas criadas pelo PIVOT não viram arrays esse é meu código, gostaria de saber o que eu poderia usar.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<table class="font borda">
        <?php
            include("../PHP/conecta_odbc.php");
            if (!isset($_SESSION)){
                session_start();
            }
            echo '<tr>
                <th>COD CLIENTE</th>
                ';
            for ($i=1; $i <= 12; $i++){
                $mesMeta = mes_extenso($i);
                echo '<th>'.$mesMeta.'</th>
                ';
            }
            echo '<th>TOTAL</th>
            ';
            echo '</tr>
            '; 
$query = "TRANSFORM Sum(dbo_SF2010.F2_VALMERC) AS TOTAL SELECT dbo_SF2010.F2_CLIENTE, dbo_SA1010.A1_NOME, dbo_SA1010.A1_REGIAO, dbo_SA1010.A1_VEND, dbo_SA1010.A1_VEND2 FROM (dbo_SA1010 INNER JOIN dbo_SF2010 ON dbo_SA1010.A1_COD = dbo_SF2010.F2_CLIENTE) INNER JOIN dbo_SD2010 ON dbo_SF2010.F2_DOC = dbo_SD2010.D2_DOC WHERE (((dbo_SD2010.D2_YANOMES) Like '2013%')) GROUP BY dbo_SF2010.F2_CLIENTE, dbo_SA1010.A1_NOME, dbo_SA1010.A1_REGIAO, dbo_SA1010.A1_VEND, dbo_SA1010.A1_VEND2 PIVOT dbo_SD2010.D2_YANOMES;";
            $execOdbc = odbc_exec($connect, $query);
            while($arrayDados = odbc_fetch_array($execOdbc)){
        ?>
                <tr>
                    <td><?php echo $arrayDados['F2_CLIENTE'] ?></td>
                    <td><?php echo $arrayDados['A1_NOME'] ?></td>
                    <td><?php echo $arrayDados['A1_REGIAO'] ?></td>
                    <td><?php echo $arrayDados['A1_VEND'] ?></td>
                    <td><?php echo $arrayDados['A1_VEND2'] ?></td>
                    <td><?php echo $arrayDados['201301'] ?></td>
                    <td><?php echo $arrayDados['201302'] ?></td>
                    <td><?php echo $arrayDados['201303'] ?></td>
                    <td><?php echo $arrayDados['201304'] ?></td>
                    <td><?php echo $arrayDados['201305'] ?></td>
                    <td><?php echo $arrayDados['201306'] ?></td>
                    <td><?php echo $arrayDados['201307'] ?></td>
                    <td><?php echo $arrayDados['201308'] ?></td>
                    <td><?php echo $arrayDados['201309'] ?></td>
                    <td><?php echo $arrayDados['201310'] ?></td>
                    <td><?php echo $arrayDados['201311'] ?></td>
                    <td><?php echo $arrayDados['201312'] ?></td>
                </tr>
        <?php
            }
        ?>
    </table>

Sendo 201301 a 201312 as colunas geradas pelo PIVOT.
Felipe Dominguesche

Felipe Dominguesche

Responder

Posts

05/12/2013

Marcio Araujo

esse Pivot é geração de relatorio?
Responder

Gostei + 0

21/04/2014

Felipe Dominguesche

Sim, é um relatório
Responder

Gostei + 0

21/04/2014

Marcio Araujo

pesquisei bastante sobre essa relação do pivot e php e não nada, sabe dizer se realmente é possivel?
Responder

Gostei + 0

26/04/2014

Marcio Araujo

tem algum material aew?
Responder

Gostei + 0

27/04/2014

Marisiana Battistella

Até o onde sei, o PIVOT é uma função do banco de dados, você tem que verificar se existe essa função no Access.
No Oracle, você vai criar uma instrução PL/SQL utilizando o PIVOT para gerar os resultados que vc precisa.
Neste link tem uma explicação sobre ele: [url]http://www.oracle.com/technetwork/pt/articles/sql/principais-caracteristicas-database-2108383-ptb.html[/url]
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar