CG
Utilizar navegação entre páginas a partir de uma consulta manual
Boa noite!
Eu tenho uma consulta e consigo exibi-la na Datagrid sem problemas, porém, a paginação da consulta não obedece aos resultados (a pageNavigation possui vários itens que precisam ser setados, e com a query manual não sei como setar).
Essa minha consulta manual envolve pesquisa por mês em uma data (creio que o framework ainda não possua essa questão, mesmo que possua, eu gostaria de saber como funciona, nunca se sabe quando terei que usar esse recurso futuramente), ela se encontra abaixo:
Eu já utilizo várias views para várias questões, mas neste caso como proceder?
Agradeço a atenção!
Eu tenho uma consulta e consigo exibi-la na Datagrid sem problemas, porém, a paginação da consulta não obedece aos resultados (a pageNavigation possui vários itens que precisam ser setados, e com a query manual não sei como setar).
Essa minha consulta manual envolve pesquisa por mês em uma data (creio que o framework ainda não possua essa questão, mesmo que possua, eu gostaria de saber como funciona, nunca se sabe quando terei que usar esse recurso futuramente), ela se encontra abaixo:
- <?php
- $conn = TTransaction::get();
- $result = $conn->query('SELECT * from clientes order by id;')
- ?>
Eu já utilizo várias views para várias questões, mas neste caso como proceder?
Agradeço a atenção!
A pageNavigation é tranquila de configurar:
O detalhe é que você precisa paginar o sql, senão sempre vai retornar as mesmas informações. Adicione limit e offset também no sql. Estas informações estão na variável $param.
Obrigado pela resposta Nataniel!
Eu passei analisando as configurações da paginação para compreender ela, e creio que entendi como funciona.
Já tinha entendido que ele passava por parâmetros alguns itens mas não tinha associado a minha consulta, mas agora já consegui resolver e está funcionando direitinho!
Muito obrigado mais uma vez!
OBS: minha solução foi a seguinte: o limite e o offset da consulta são enviados por parâmetro em cada um dos botões da paginação, o que eu fiz foi primeiramente foi contar quantos itens da minha consulta existiam e setar na navegação, depois fiz a consulta com o limit = 10. Se o total de registros for 20 por exemplo, a paginação vai habilitar o número '1' e o número '2' para pesquisa. Quando clicar no número 2, ele irá passar por parâmetro o limite e o offset, então peguei esses dois parâmetros e fiz uma nova consulta, que exibiu certinho o restante que faltava. Tive que fazer várias verificações já que tinha campos de busca nessa datagrid, mas fiz os ajustes e está tudo funcionando!
A disposição!
Quanto mais eu utilizo o framework, mais estou vendo que provavelmente não vou precisar de sql manual. Até agora só utilizei em uma parte do sistema, em uma consulta BEM cabulosa, e ainda assim, foi bem no começo, então quando eu voltar la, pode ser que eu a substitua.