Ir para conteúdo
Fórum Script Brasil
  • 0

Busca


marcus Gemeos

Pergunta

alguém tem um sistema de busca onde tenho opção de procurar por nome, código..quantas opções eu querer e que tiver no meu banco?

Tipo assim: A pessoa vai fazer varios cadastro onde tem o campo nome, cpf, codigo....e ter um busca que possa pesquisar com opões do nome, cpf, codigo...efim, que tenha opção de pesquisar por todos os campos de um formulario que cadastra no banco.

Obrigado!

Preciso!

Link para o comentário
Compartilhar em outros sites

13 respostass a esta questão

Posts Recomendados

  • 0

cara o que você precisa fazer é montar um esquema de variáveis, cada uma lendo se cada campo foi preenchido ou não, para ver quais farão parte da pesquisa (somente os preeenchidos)

Depois você precisa montar a string de sql com essas vars, tipo

SELECT * FROM tabela WHERE " & varNN & varCC & etc & " ORDER BY id "

qualquer coisa posta aê

Link para o comentário
Compartilhar em outros sites

  • 0

Tipo:

variavel = Request.Form("nome do campo") ? Isso já tem no formulario de cadastro para o banco de dados e abaixo coloquei:

sqlSelect = "SELECT * FROM tabela order by código"

sqlInsert = "INSERT INTO tabela (nome do campo) values ('" & variavel & ")

Isso foi um formulario para preencher e inserir no meu banco, ok?

Para fazer um busca faço na página do busca mesmo, tipo:

variavel = Request.Form("nome do campo1")

variavel1 = Request.Form("nome do campo2")

variavel2 = Request.Form("nome do campo3")

SELECT * FROM tabela WHERE " & variavel & variavel1 & variavel2 & " ORDER BY código "

É assim que faço meu busca?

Obrigado mas estou apredendo ASP!

Link para o comentário
Compartilhar em outros sites

  • 0

Não, não é assim que se fax uma busca...

Vamos fingir que estamos fazendo uma busca...

campo = request.form("campo")

....

"SELECT * FROM [color=#990000]tabela[/color] WHERE  [color=#660000]campoDaTabela[/color] [color=#000099]LIKE '%"& campo &"%'[/color]  ORDER BY indice ASC" ...

Cara nas buscas tem-se de usar "LIKE" e "%"

como o descrito acima... se tiver dúvida posta aí...

falou...

Link para o comentário
Compartilhar em outros sites

  • 0

Vendo então:

' aqui é o nome do campo da minha busca isso? Onde vou pesquisar? Esse campo será armazenado na variavel campo tambem?

campo = request.form("campo")

....

"SELECT * FROM tabela WHERE campoDaTabelaLIKE '%"& campo &"%' ORDER BY indice ASC" ...

' campoDaTabela é o nome da coluna da tabela ok? e o '%"& campo &"%' é a variavel acima que tem o nome do campo do busca? Esse LIKE tem que função e %?

E esse indice ASC? no orderby pode ser por um campo de chave autonumeraçao?

Então posso fazer isso:

campo = request.form("campo_do_busca")

' vou pesquisar por nome e cpf abaixo por exemplo:

"SELECT * FROM tabela WHERE nomeLIKE '%"& campo &"%' , cpfLIKE '%"& campo &"%' ORDER BY indice ASC" ...

Isso?

Obrigado!

Link para o comentário
Compartilhar em outros sites

  • 0

Quase, tá caminhando bem...

Lembre-se de que você precisa do AND para fazer buscas para os dois campos serem condições, se usar OR fica valendo ou pra um ou pra outro.....

Se o campo cpf não tiver valor nenhum, ele não pode aparecer na busca, senão ele vai atrás dos que tem o campo cpf vazio, e altera o resultado da busca (quando ele deveria ignorar o campo cpf por estar nulo)..

Link para o comentário
Compartilhar em outros sites

  • 0

Ok!

sera assim:

vou pesquisar por nome ou cpf ou idade abaixo por exemplo:

coloco ele antes: campo = request.form("campo_do_busca") e depois:

"SELECT * FROM tabela WHERE nomeLIKE '%"& campo &"%' OR cpfLIKE '%"& campo &"%' OR idadeLIKE '%"& campo &"%' ORDER BY indice ASC" ...

É isso?

E dentro do meu campo mesmo do busca eu coloco o nome "campo_de_busca" que ele vai ser reconhecido pelo campo = request.form("campo_do_busca") e jogar na minha query acima e pesquisar?

E problema desses campos estarem vazio:

"Se o campo cpf não tiver valor nenhum, ele não pode aparecer na busca, senão ele vai atrás dos que tem o campo cpf vazio, e altera o resultado da busca (quando ele deveria ignorar o campo cpf por estar nulo).."

Como resolver?

Obrigado!

Link para o comentário
Compartilhar em outros sites

  • 0

Faz assim: trata as informações antes de jogá-las na busca

varNome = " nome LIKE " & request.form("nome")
 varCpf = " cpf LIKE " & request.form("cpf")

  if varNome <> "" AND varCpf = "" then
  varSql = varNome
  else
  varSql = varNome & " OR " & varCpf
  end if

   if varNome = "" AND varCpf <> "" then
  varSql = varCpf
  end if
   
   

aí na busca fica " SELECT * FROM tabela WHERE " & varSql & " ORDER BY nome "

entendeu ?? se você tiver mais campos vai ter que trabalhar as situações em que alguns deles estarão nulos e outros não....

ex. 3 campos (preenchido ou não) 2x2x2 = 8 condicionais para a varSql, se forem muitas usa select case, etc..

Link para o comentário
Compartilhar em outros sites

  • 0

Esse: varNome = " nome LIKE esse nome do like é a coluna da minha tabela?

e no SELECT * FROM tabela WHERE " & varSql & " ORDER BY nome só coloco a variavel " & varSql & " mas nada na coluna? e o ORDER BY nome pode ser por outra colunA?

Eu pensava que antes só com um campo eu poderia pesquisar cpf, nome...pois no select referenciu isso

Obrigado!

Link para o comentário
Compartilhar em outros sites

  • 0

Claro que tem , dá uma olhada em http://scriptbrasil.com.br/forum/index.php...60entry112975 e você vai ver exemplo de desabilitar campos, mas aí você vai ficar na mesma, porque se você tem mais de um campo de busca, independentemente de qual foi preeenchido, o código vai precisar saber qual campo foi preenchido ou não, o que num vai fugir muito do que já está fazendo...

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...