Ir para conteúdo

POWERED BY:

Arquivado

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

blacktrindade

PHP & Mysql

Recommended Posts

Bom dia a todos.

 

Pessoal fiz uma pergunta parecida aqui ontem e pensei que ia dar certo o jeito que resolvemos meu problema no entanto não deu muito certo não. é o seguinte queria saber de vocês que forma vocês usam em uma consulta no mysql.

 

 

 

Eu tenho vários campos em uma tabela de MANUAIS:

 

ID:

nome:

descricao:

classificacao:

sistema:

modulo:

setor:

cargo:

data:

versao:

link:

 

 

Nesta tabela eu preciso de criar um script de consulta bem chato. Campo de Consulta:

 

Consultar por:

 

Nome: | Classificação: | Sistema: | Módulo: | Setor: | Cargo: |

 

 

Esta ai seria a página de consulta, o usuário iria la colocar por exemplo o nome do Manual e depois apenas o SETOR, nisto o script teria que consultar na tabela todos os dados em que nome contenha $nome e setor contenha $setor, o resto dos campos iria ficar em branco, dai o sistema não poderia fazer o filtro por classificação, sistema, modulo e cargo.

 

Agora como fazer isto? não sei... alguém tem alguma ideia?

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não entendi por que "resto dos campos iria ficar em branco". Só ficará em branco se não houver dado no dito campo.

Um simples exemplo

 

select * from tabela where Nome=$nome and Setor=$setor;

O resto é PHP.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, não sei bem se é isso que precisa, mas pelo que entendi é que você quer fazer a pesquisa de acordo com as informações que foram passadas ignorando as demais.

 

Se for este o caso é só você montar o SQL validando se o campo foi digitado ou não.

 

Ex:

$sql = "SELECT * FROM tabela WHERE Nome = '$nome'";

if( $classificacao !== '' ) $sql .= " AND Classificacao = '$classificacao'";
if( $sistema !== '' ) $sql .= " AND Sistema = '$sistema'";
if( $modulo !== '' )  $sql .= " AND Modulo = '$modulo'";
if( $setor !== '' )   $sql .= " AND Setor = '$setor'";
if( $cartao !== '')   $sql .= " AND Cartao = '$cartao'";

Veja que a minha validação está bem simples, só para explicar a ideia mesmo.

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, não sei bem se é isso que precisa, mas pelo que entendi é que você quer fazer a pesquisa de acordo com as informações que foram passadas ignorando as demais.

 

Se for este o caso é só você montar o SQL validando se o campo foi digitado ou não.

 

Ex:

$sql = "SELECT * FROM tabela WHERE Nome = '$nome'";

if( $classificacao !== '' ) $sql .= " AND Classificacao = '$classificacao'";
if( $sistema !== '' ) $sql .= " AND Sistema = '$sistema'";
if( $modulo !== '' )  $sql .= " AND Modulo = '$modulo'";
if( $setor !== '' )   $sql .= " AND Setor = '$setor'";
if( $cartao !== '')   $sql .= " AND Cartao = '$cartao'";

Veja que a minha validação está bem simples, só para explicar a ideia mesmo.

 

[]'s

 

 

Exato meu amigo, feito isto ai ele vai adicionar o AND apenas se tiver sido preenchido no formulário de consulta,

 

 

Obrigadão amigo.

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.