Filtro de dados de tabela, MySQL, MariaDB, Jquery
Galera blza? Então eu tenho uma dúvida que tá quebrando minha cabeça a um bom tempo, digamos que eu tenha uma tabela com as seguintes colunas.
ID, NOME DO PRODUTO, QUANTIDADE, FORNECEDOR.
Aí eu preciso de vários filtros para trazer resultados bem específicos, como por exemplo:
Filtro: produto, quantidade.
Filtro: quantidade, fornecedor.
Para fazer isso, eu vou ter que ir na mão usando Else If ou existe outra forma mais rápida?
Atualmente estou utilizando o datatables, mas ainda não é o que eu quero.
ID, NOME DO PRODUTO, QUANTIDADE, FORNECEDOR.
Aí eu preciso de vários filtros para trazer resultados bem específicos, como por exemplo:
Filtro: produto, quantidade.
Filtro: quantidade, fornecedor.
Para fazer isso, eu vou ter que ir na mão usando Else If ou existe outra forma mais rápida?
Atualmente estou utilizando o datatables, mas ainda não é o que eu quero.
Lindoberto Araújo
Curtidas 0
Respostas
William Nascimento
08/03/2019
Galera blza? Então eu tenho uma dúvida que tá quebrando minha cabeça a um bom tempo, digamos que eu tenha uma tabela com as seguintes colunas.
ID, NOME DO PRODUTO, QUANTIDADE, FORNECEDOR.
Aí eu preciso de vários filtros para trazer resultados bem específicos, como por exemplo:
Filtro: produto, quantidade.
Filtro: quantidade, fornecedor.
Para fazer isso, eu vou ter que ir na mão usando Else If ou existe outra forma mais rápida?
Atualmente estou utilizando o datatables, mas ainda não é o que eu quero.
ID, NOME DO PRODUTO, QUANTIDADE, FORNECEDOR.
Aí eu preciso de vários filtros para trazer resultados bem específicos, como por exemplo:
Filtro: produto, quantidade.
Filtro: quantidade, fornecedor.
Para fazer isso, eu vou ter que ir na mão usando Else If ou existe outra forma mais rápida?
Atualmente estou utilizando o datatables, mas ainda não é o que eu quero.
Olá Marcelo, geralmente esse tipo de filtro é realizado no seu banco, ou seja, nas suas queries. Quanto ao uso de ELSE IF, você pode fazer com SWITCH CASE. Como por exemplo:
<?php $filtro = $_POST['filtro']; $resultado = []; switch($filtro){ case 'QUANTIDADE': $query = "SELECT ... FROM TABELA WHERE ... ORDER BY ... DESC"; $resultado = $query; break; case 'FORNECEDOR': $query = "SELECT ... FROM TABELA WHERE ... ORDER BY ... DESC"; $resultado = $query; break; case 'PRODUTO': $query = "SELECT ... FROM TABELA WHERE ... ORDER BY ... DESC"; $resultado = $query; break; }
Esse é um exemplo bem tosco, para você poder ter uma noção.
Obs: Você quiser usar os filtro sem o carregamento da página você terá que optar por usar o Ajax nas requisições.
GOSTEI 0
William Nascimento
08/03/2019
Ou também você pode fazer direto na query do SQL, por exemplo:
SELECT IDADE CASE WHEN IDADE > 18 THEN ( SELECT ... FROM ) WHEN IDADE < 18 THEN ( SELECT ... FROM ) ELSE .... END FROM PESSOA
GOSTEI 0