Lançado Adianti Framework 7.6!
Clique aqui para saber mais
Filtrar sql do Gráfico por sessão do usuário Boa noite. Tenho o código abaixo para um gráfico que irei apresentar em um dashboard. Só que não posso exibir todos os dados do usuário da loja, gostaria de exibir somente os dados daquela loja. Meu sistema já armazena o id da loja na tabela Compras. Segue o código: ...
CM
Filtrar sql do Gráfico por sessão do usuário  
Boa noite.
Tenho o código abaixo para um gráfico que irei apresentar em um dashboard.
Só que não posso exibir todos os dados do usuário da loja, gostaria de exibir somente os dados daquela loja.
Meu sistema já armazena o id da loja na tabela Compras.
Segue o código:

  1. <?php 
  2. class GraficoComprasLoja extends TPage
  3.     {
  4.         //private $html;
  5.         protected $form// form
  6.         
  7.         public function __construct($param)
  8.         {
  9.             parent::__construct();
  10.             $this->form = new BootstrapFormBuilder('GraficoCompras');
  11.             $this->onGenerator_Compras_Loja_Master();
  12.       
  13.        }
  14.        
  15.         function onGenerator_Compras_Loja_Master()
  16.         {
  17.             $html = new THtmlRenderer('app/resources/google_column_chart.html');
  18.         
  19.             TTransaction::open('ourorio');
  20.             $conn TTransaction::get();
  21.             
  22.             $colunas $conn->query('SELECT loja_txt AS Loja, 
  23.                                      SUM(valor_total) AS Total FROM compras 
  24.                                      GROUP BY loja_id
  25.                                      ORDER BY Total desc');
  26.             $dados_compras_loja[] = ['Unidade','Valor'];
  27.             
  28.             foreach($colunas as $coluna)
  29.                 {
  30.                    $dados_compras_loja[] = [$coluna[0],(float)$coluna[1]];
  31.                 }
  32.             
  33.             $div = new TElement('div');
  34.             $div->id 'container';
  35.             
  36.             $div->style =  "width:100%;height:300px; position: relative;top: 0px;";
  37.             $div->add($html);
  38.             
  39.             $html->enableSection('main', array('data' => json_encode($dados_compras_loja),
  40.                                                'width' => '100%',
  41.                                                'height' => '100%',
  42.                                                'title'  => 'Movimento por Loja',
  43.                                                'ytitle' => 'Total'
  44.                                                'xtitle' => 'Compras'));
  45.                                          
  46.             TTransaction::close();
  47.             parent::add($div);
  48.         }      
  49.      
  50.     }
  51. ?>

Curso completo Meu Negócio Pronto
Use para si, ou transforme em um negócio: Inclui aulas e códigos-fontes
Gestor de conteúdo (SITE) + Loja Virtual (E-Commerce) + Emissor de Notas para infoprodutos


Meu negócio pronto Quero me inscrever agora!

Comentários (4)


NR

Não entendi exatamente se você precisa do id do usuário ou da unidade, mas ambos estão na sessão:
  1. <?php
  2. TSession::getValue('userid');// id do usuario
  3. TSession::getValue('userunitid'); //id da unidade
  4. ?>
CM

Bom dia Nataniel.
Isso eu sei amigo.
O que quero e passar isso na sql para filtrar.
Nao exibir todos os dados e sim somente os dados da loja.
Ou seja o id da unidade
Obrigado
NR

  1. <?php
  2. $colunas $conn->query('SELECT loja_txt AS Loja, 
  3.                                      SUM(valor_total) AS Total 
  4.                                      FROM compras 
  5.                                      WHERE id_loja = ' TSession::getValue('userunitid') .
  6.                                      GROUP BY loja_id
  7.                                      ORDER BY Total desc');
  8. ?>
CM

Boa tarde Nataniel.
Perfeito!
Só alterei essa parte:

WHERE id_loja =
Por
WHERE loja_id =

Obrigado por sua ajuda novamente.