Consulta avançada Mysql e PHP

27/04/2019

0

Boa tarde, tenho duvidas de como montar a seguinte funcionalidade.

Tenho uma tabela no meu banco e uma tela de consulta PHP. Aparece para o usuario os seguintes campos ( por exemplo ) para ele preencher com os parametros que deseja buscar:

- MARCA
- RESPONSAVEL
- DATA
- COR

A jogada esta em: O usuário pode entrar com o dado em somente um filtro ou em todos, e minha query deve ser capaz de absorver os parâmetros informados para fazer a consulta. Que pode ser um ou pode ser todos....

Qual a melhor maneira de fazer isso ?
Yago Pereira

Yago Pereira

Responder

Posts

27/04/2019

Helton Fábio

Boa tarde, tenho duvidas de como montar a seguinte funcionalidade.

Tenho uma tabela no meu banco e uma tela de consulta PHP. Aparece para o usuario os seguintes campos ( por exemplo ) para ele preencher com os parametros que deseja buscar:

- MARCA
- RESPONSAVEL
- DATA
- COR

A jogada esta em: O usuário pode entrar com o dado em somente um filtro ou em todos, e minha query deve ser capaz de absorver os parâmetros informados para fazer a consulta. Que pode ser um ou pode ser todos....

Qual a melhor maneira de fazer isso ?

pelo que eu entendi você quer adicionar um multiplo select pra poder criar a query, certo?
você ta usando ajax? se sim, monte um objeto com os campos selecionado e crie a query com o que for selecionado.
Exemplo.:
Usuário seleciona cor e marca > você monta um objeto em javascript com os valores selecionados pra mandar via ajax (o objeto tem como atributos os nomes dos parâmetros, portanto vai estar com os parâmetros preenchidos ou vazios) > dai tu faz o select e a query tu cria uma query genérica que vai adicionando os parâmetros
$query = "SELECT * FROM produto ";
//checa cada uma das propriedades, aqui vou só fazer uma
if($data->cor !== ''){
$sql .= "WHERE cor =".$data->cor;
}
//ai você faz os outros atributos até por fim executar
$stmt->execute()

enfim, a lógica é simples:
- Objeto JavaScript com as propriedades
- Ajax para mandar o objeto com o que foi preenchido
- Página intermediária pra mandar os valores pra DAO
- Leitura no banco conforme os atributos preenchidos
- Retorno da query

Espero ter ajudado.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar