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

Como Fazer Essa Pesquiza?


Carlos Rocha

Pergunta

Preciso fazer um sistema de busca no meu site igual a do Google.

Caso a pessoa digite uma frase como consulta como por exemplo.

Digite aqui a tua conulta:

E a pessoa digitar............ Onde posso encontrar tutoriais de asp?

A consulta pesquizar por cada palavra e se caso não houver como resultado a frase inteira Onde posso encontrar tutoriais de asp?, a consuta sera feita por aproximação ou seja, separando as palavras e retornando resultados que contenha cada palavra em separado.

Como desse jeito..

Onde eu possa morar

posso ir ate aíi?

encontrar alguém

tutoriais de asp

de idade

asp.net

Como fazer essa pesquiza?

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Olha aki um exemplo de parte de um sistema de busca que eu fiz esses dias:

'separa palavras (busca com varias palavras) e cria as instruções SQL
busca=split(session("palavra"),chr(32))
dim onde
if request("cont")<>"s" then
for x = 0 to Ubound(busca)
   if x > 0 then
      onde=onde + " and "
   end if
   pesq=busca(x) 
   pesq = ""&pesq&""
   onde=onde+"texto like '%" & pesq & "%'"
next
   session("sql") = "select * from texto where " & onde & " order by cdigo"
   session("sqlc") ="select count(texto) from texto where " & onde & " order by cdigo"
end if

Link para o comentário
Compartilhar em outros sites

  • 0
'separa palavras (busca com varias palavras) e cria as instruções SQL
dim busca, onde, pesq, sql
busca=split(request.form("chave"),chr(32))
dim onde
for x = 0 to Ubound(busca)
  if x > 0 then
     onde=onde + " and "
  end if
  pesq=busca(x) 
  onde=onde+"texto like '%" & pesq & "%'"
next
  sql = "select * from tabela where " & onde & " order by campo"

Link para o comentário
Compartilhar em outros sites

  • 0

Desculpe a insistencia mas não ta dando certo

Estou uzando o código abaixo para texte

<!--#include file="host/viveasp/global/funcoes.asp" -->
<%
'separa palavras (busca com varias palavras) e cria as instruções SQL
dim busca, onde, pesq, sql
busca=split(request.form("chave"),chr(32))
dim onde
for x = 0 to Ubound(busca)
 if x > 0 then
    onde=onde + " and "
 end if
 pesq=busca(x) 
 onde=onde+"texto like '%" & pesq & "%'"
next
strSQL = "select * from estudos where " & onde & " order by campo"


Set Rs_SELECT = server.createobject("ADODB.Recordset")
Rs_SELECT.Open strSQl,Conn , 3, 3


response.Write Rs_SELECT("texto")



%>


<form action=oi.asp method=post>

<input type=text name=chave size=100>

<input type=submit value=enviar>
</form>

E esta dando o seguinte erro:

Tipo de erro:

Erro de compilação do Microsoft VBScript (0x800A0411)

Redefinição do nome

/oi.asp, line 6, column 4

dim onde

---^

Se eu tiro a linha dim onde da o seguinte erro:

Tipo de erro:

Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)

[Microsoft][ODBC SQL Server Driver][sql Server]Incorrect syntax near the keyword 'order'.

/oi.asp, line 18

Se tiro a clausula order by da o seguinte erro:

Tipo de erro:

Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)

[Microsoft][ODBC SQL Server Driver][sql Server]Line 1: Incorrect syntax near 'where'.

/oi.asp, line 19

E agora o erro ta no scripr da busca, e agora, o que eu faço?

Link para o comentário
Compartilhar em outros sites

  • 0

Gente por favor, num to conseguindo.

Preciso de uma busca por aproximação.

Me passaram o código abaixo, mas esse código, quando agente digita uma fraze no campo de busca, ele se pesquiza pela ultima palavra digitada, e preciso que pesquize por todas as palavras da frase.

Como fazer?

<%
dim chave
chave = request.form("chave")

IF chave = "" THEN

response.Write("Você tem que digitar alguma coisa no campo de busca")
response.Write("<p>")

else

dim busca 
busca=split(chave,chr(32))

dim x
x = 0
for x = 0 to Ubound(busca)


 dim pesq
 pesq=busca(x) 
 onde="DfModulo like  '%"&pesq&"%' or DfPergunta like  '%"&pesq&"%' or DfMemo  like '%"&pesq&"%'"
 if x > 0 then
 dim onde   
 onde=onde + " and " + onde
 end if

next

dim strSQL, Rs_FaqSelect
strSQL = "select * from faq where " & onde & ""
Set Rs_FaqSelect = server.createobject("ADODB.Recordset")
Rs_FaqSelect.Open strSQl,Conn , 3, 3

%>

Obrigado.

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...