Ir para conteúdo

POWERED BY:

Arquivado

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

webfuture

Busca por duas palavras

Recommended Posts

Boa Tarde galera, estou montando um sisteminha de busca, porem preciso que por exemplo ao inves de buscar por uma palavra somente (exata) precisaria que se a pessoa digitasse no campo de busca: asp, iis, ele retornaria resultados contendo os dois ou um so.Alguém sabe me dizer como fazer isto, ou algum script de exemplo?Alan

Compartilhar este post


Link para o post
Compartilhar em outros sites

dá um split pelo caracter que você estará separando os argumentos e dentro do loop monta a query que você precisa

Compartilhar este post


Link para o post
Compartilhar em outros sites

Basicamente seria:

Sua_busca = Split(request("seu_campo")," ") 'usando o espaço como separador
SQL="Select * from tabela "
For x = Lbound(Sua_busca) To UBound(Sua_busca)
If x = Lbound(Sua_busca)
 SQL = SQL &"Where "
End If
SQL = SQL &"campo = '"& Sua_busca(x) &" "
If x < Ubound(Sua_busca) And LBound(Sua_busca) < UBound(Sua_busca)
 SQL = SQL &"And "
End If
Next
Response.Write SQL ' Só para verificar a SQL montada, você pode retirar essa linha
' Aqui vai a execução e a exibição dos dados selecionados

Note que não fiz nenhum tratamento de ' e de acentos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não gente... Acho que basta isso:

 

SQL = "SELECT * FROM <tabela> WHERE <campo> IN ('" & Replace(Replace(Request("busca"), "'", ""), " ", ",") & "')"

O primeiro replace trata as aspas simples, e o segundo trata os espaços, alterando por "," caractere necessário para a busca utilizando o método IN do SQL.

 

- Fernando Botelho

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.