Jump to content
Fórum Script Brasil
  • 0

Codigo de filtro de busca - AJUDA


dionathan

Question

Ola meus amigos.

Estou montando um sistema para cadastro, consulta, alteração e impressão de informações. Porem estou com um pequeno problema na hora de realizar o meu filtro de busca.

Eu tenho tres campos: STATUS - SOLUCIONADO ( SIM OU NÃO )

SISTEMA ULTILIZADO - ( é um select com o sistema ultilizado no cliente )

E DESCRIÇÃO DO ERRO - ( é um input - tex... aonde o usuario pode digitar a informação para busca )

Ate ai tudo beim......o meu problema esta na hora de realizar o filtro.

muitas vezes ele não traz as informações.

segue abaixo o codigo do meu filtro.

<?php

mysql_connect('localhost','root',''); // Realizo a conexão com o banco de dados

mysql_select_db('bderros'); // Seleciono o banco de dados

$solucao=$_POST['solucao'];

$sistema=$_POST['sistema_util'];

$erro=$_POST['erro'];

if ($_POST['enviar'] == 'Pesquisar') {

if ((! empty($_POST['solucao'])) AND (empty($_POST['sistema_util'])) AND (empty($_POST['erro']))) {

$pesquisa=mysql_query("SELECT * FROM `cad_erros` WHERE `solucionado`LIKE'%$solucao%'") or die ("Erro ao buscar cadastro.");}

else if ((empty($_POST['solucao'])) AND (! empty($_POST['sistema_util'])) AND (empty($_POST['erro']))){

$pesquisa=mysql_query("SELECT * FROM `cad_erros` WHERE `sistema_util`LIKE'%$sistema%'") or die ("Erro ao buscar cadastro.");}

else if ((empty($_POST['solucao'])) AND (empty($_POST['sistema_util'])) AND (!empty($_POST['erro']))){

$pesquisa=mysql_query("SELECT * FROM `cad_erros` WHERE `desc_erro`LIKE'%$erro%'") or die ("Erro ao buscar cadastro.");}

else if ((!empty($_POST['solucao'])) AND (!empty($_POST['sistema_util'])) AND (empty($_POST['erro']))) {

$pesquisa=mysql_query("SELECT * FROM `cad_erros` WHERE `solucionado`LIKE'%$solucao%' AND `sistema_util`LIKE'%$sistema%'") or die ("Erro ao buscar cadastro.");}

else if ((!empty($_POST['solucao'])) AND (empty($_POST['sistema_util'])) AND (!empty($_POST['erro']))) {

$pesquisa=mysql_query("SELECT * FROM `cad_erros` WHERE `solucionado`LIKE'%$solucao%' AND `desc_erro`LIKE'%$erro%'") or die ("Erro ao buscar cadastro.");}

else if((empty($_POST['solucao'])) AND (!empty($_POST['sistema_util'])) AND (!empty($_POST['erro']))) {

$pesquisa=mysql_query("SELECT * FROM `cad_erros` WHERE `sistema_util`LIKE'%$sistema%' AND `desc_erro`LIKE'%$erro%'") or die ("Erro ao buscar cadastro.");}

}

preciso muito desse filtro..

se puderem me ajudar eu agradeço.

Grato..

Edited by dionathan
Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 0

Rapaz, você não precisa desse monte de querys, basta colocar uma no final do código e em cada condição criar uma variável $where onde você insere o Where do Select que você vai fazer no final do arquivo.

Tenta dessa forma :)

<?php
mysql_connect('localhost','root',''); // Realizo a conexão com o banco de dados
mysql_select_db('bderros'); // Seleciono o banco de dados

$solucao = $_POST['solucao'];
$sistema = $_POST['sistema_util'];
$erro     = $_POST['erro'];

if($_POST['enviar'] == 'Pesquisar'){
    
    $where="";//Caso nenhum filtro seja selecionado.
    if((!empty($_POST['solucao'])) && (empty($_POST['sistema_util'])) && (empty($_POST['erro']))){
        $where = "Where solucionado LIKE '%".$solucao."%'";
    }
    
    if((empty($_POST['solucao'])) && (!empty($_POST['sistema_util'])) && (empty($_POST['erro']))){
        $where = "Where sistema_util LIKE '%".$sistema."%'";
    }

    /*
    
    Insira o restante das condições aqui...
    
    **/
        
    mysql_query("Select * From cad_erros ".$where) or die ("Erro ao buscar cadastro.");
}
?>

Edited by dedas
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...