Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Venicius Back

Erro na consulta

Recommended Posts

Pessoal tudo bem com vocês ? Sou iniciante, e estou com uma dúvida em consulta MySQL no PHP a situação é essa:

 

- Campo Matricula
- Campo Produto

- E campos data e Hora (Obrigatórios)

 

A ideia e a seguinte, caso o usuário não digite nem matricula e nem produto apenas data deve retornar TODAS as matriculas e TODOS os produtos no espaço de tempo. Caso o usuário digite matricula e não digite produto, quero que retorne todos os produtos com aquela matricula em determinado espaço de tempo. E caso o usuário digite apenas o produto quero que seja exibido todas as matriculas que processaram aquele produto em determinado espaço de tempo.

 

Abaixo segue código dos testes, já tentei isset e empty e somente a variável porém sem sucesso .. conseguem me ajudar ?

 

 

Muito Obrigado a todos!

  //Verificações de campos
        if (($_POST['matricula']) && ( $_POST['produto'])) {
            $matricula = $_POST['matricula'];
            $produto = $_POST['produto'];
            $sql = "SELECT * FROM producao WHERE matricula = \"$matricula\" AND produto = \"$produto\" AND BETWEEN \"$tempoinicio\" AND \"$tempofim\"";
            echo 'Os Doi Preenchidos';
        } if (($_POST['matricula']) && (!$_POST['produto'])) {
            $matricula = $_POST['matricula'];
            $sql = "SELECT * FROM producao WHERE matricula = \"$matricula\" AND BETWEEN \"$tempoinicio\" AND \"$tempofim\"";
            echo 'Com Matricula Sem produto';
        } if (($_POST['matricula']) && (!$_POST['produto'])) {
            $produto = $_POST['produto'];
            $sql = "SELECT * FROM producao WHERE produto = \"$produto\" AND BETWEEN \"$tempoinicio\" AND \"$tempofim\"";
            echo 'Com Produto e  Sem matricula';
        } if (($_POST['matricula']) && ( $_POST['produto'])) {
            $sql = "SELECT * FROM producao WHERE data BETWEEN \"$tempoinicio\" AND \"$tempofim\"";
            echo 'Sem nada';
        }

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sua dúvida é como fazer a query retornar todos os produtos caso o parametro seja nulo ?

 

Se sim tente algo como

where
..
produto - Coalesce(trim(\"$produto\"),produto)

não tenho certeza da síntaxe exeta para a parametro mas a ideia é

 

se o parametro for nulo ou branco(trim) o coalesce retorna a propria coluna produto.

 

produto é igual a produto ...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.