Lançado Adianti Framework 7.6!
Clique aqui para saber mais
Enviar dados de um TCriteria para um HTML Bom dia pessoal, tudo blz? Estou com a seguinte dificuldade, espero que consigam me ajudar. Tenho uma classe onde utilzo 2 Tcriteria para fazer a soma total de recebimentos, pagamentos e o saldo/diferença entre eles. Gostaria de apresentar estes dados num html, criar um dashboard. Tentei de várias formas mas não tive sucesso. Abaixo segue minha classe, ela é simples e no momento só apresen...
FS
Enviar dados de um TCriteria para um HTML  
Fechado
Bom dia pessoal, tudo blz?
Estou com a seguinte dificuldade, espero que consigam me ajudar.
Tenho uma classe onde utilzo 2 Tcriteria para fazer a soma total de recebimentos, pagamentos e o saldo/diferença entre eles. Gostaria de apresentar estes dados num html, criar um dashboard. Tentei de várias formas mas não tive sucesso.
Abaixo segue minha classe, ela é simples e no momento só apresento os dados na tela por um "echo". Acredito que minha dificuldade é porque a variável $total não salva no banco de dados, criei ela só pra mostrar os dados na sessão. Alguém pode me ajudar a entender como faço pra criar um replace das variáveis $total1, $total2 e $saldo? O html pra receber os dados eu sei fazer(anexo), só preciso criar o replace.


  1. <?php
  2. class PainelDB extends TPage
  3.     public function __construct() 
  4.     { 
  5.         parent::__construct(); 
  6.         
  7.         try 
  8.         { 
  9.             TTransaction::open('cardumed_sistemaescola'); 
  10.             $criteria = new TCriteria
  11.             $criteria->add(new TFilter('status''=''Em Aberto')); 
  12.             
  13.             $repository = new TRepository('Parcelas'); 
  14.             $objetos $repository->load($criteria); 
  15.             $total1 0;
  16.             foreach ($objetos as $objeto
  17.             { 
  18.                $total1+= $objeto->valor_parcela;
  19.             } 
  20.             echo $total1 '<br>';
  21.      
  22.         } 
  23.         catch (Exception $e
  24.         { 
  25.             new TMessage('error'$e->getMessage()); 
  26.         } 
  27.         
  28.          try 
  29.         { 
  30.             $criteria = new TCriteria
  31.             $criteria->add(new TFilter('status''=''Em Aberto')); 
  32.             
  33.             $repository = new TRepository('Fornparcelas'); 
  34.             $objetos $repository->load($criteria); 
  35.             $total2 0;
  36.             $saldo 0;
  37.             foreach ($objetos as $objeto
  38.             { 
  39.                $total2+= $objeto->valor_parcelap;
  40.             } 
  41.             echo $total2 '<br>';
  42.            $saldo $total1 $total2;
  43.            echo $saldo;
  44.             TTransaction::close(); 
  45.         } 
  46.         catch (Exception $e
  47.         { 
  48.             new TMessage('error'$e->getMessage()); 
  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)


MG

Fabiano
Não ficou claro sua dúvida e o seu problema!
Você se certificou que existem informações com os critérios (TCriteria) informados?
Ambos estão fazendo consultas no BD e não fazendo inserções como você comenta.
Abraços
FS

Boa tarde Marcelo, acho que não fui claro mesmo.
O TCriteria está ok, ele carrega os dados do banco , conforme critérios informados(veja a tela em anexo). Resumindo então, minha dificuldade está em armazenar as variáveis $total1, $total2 e $saldo, de uma forma que eu consiga apresentar no meu arquivo html. Eu até tentei fazer conforme abaixo, mas acredito que não esteja correto, pois não apresentou nada no html. Se ainda não tiver claro me questione por favor e desculpe qualquer amadorismo apresentado (hehe).

$total1 = 0;
foreach ($objetos as $objeto)
{
$total1+= $objeto->valor_parcela;
}
$saldo = $total1 - $total2;
$parc = new Parcelas;
$replaces = array();
$replaces['total1'] = $parc->total1;
$replaces['total2'] = $parc->total2;
$replaces['saldo'] = $parc->saldo;
$this->html->enableSection('main', $replaces);
parent::add($this->html);


Obrigado!!
FC

$parc = new Parcelas;

não teria que passar o id? ou é um novo registro?

$parc = new Parcelas($key);
FS

Consegui resolver, eu estava errando no replace, o correto ficou assim:
<php
$saldo = $total1 - $total2;
$parc = new Parcelas();
$replaces = array();
$replaces['total1'] = $total1; //Aqui eu estava errando
$replaces['total2'] = $total2; //Aqui eu estava errando
$replaces['saldo'] = $saldo; //Aqui eu estava errando
$this->html->enableSection('main', $replaces);
parent::add($this->html);
?>
Felipe,
Neste caso não precisei passar o id, desta forma que fiz ele está buscando todos os dados conforme critérios inseridos. Na verdade antes eu tinha apagado o parêntese sem querer.

Obrigado pela ajuda Marcelo e Felipe.
Abraços.