Ir para conteúdo

POWERED BY:

Arquivado

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

caioosman

Sistema de Busca em páginas internas

Recommended Posts

Olá galera, tudo bem com vocês?

 

Tenho um site com sistema de gerenciamento de conteúdo. Gostaria que a busca dele funcionasse da seguinte maneira:

 

A pessoa procura pelo termo, no resultado aparece o título, um trecho do conteúdo onde apareceu a palavra chave digitada e o link.

 

Como faço isso?

 

sSearchKeywords = Request.Form("inpSearch")				if sSearchKeywords="" then					Response.Write "Por favor coloque algum termo na pesquisa."					adoRs.Close					set adoRs = nothing						exit sub					end if				strSQL = "SELECT * FROM pages WHERE content like '%" & sSearchKeywords & "%' AND status='Online'"				adoRs2.Open strSQL, adoCn									if adoRs2.eof then					Response.Write "Nenhum resultado foi encontrado<br/>Tente usar termos diferentes."					adoRs2.Close					set adoRs2 = nothing						exit sub					end if								Response.Write "<ul>"				while not adoRs2.eof					Response.Write "<li>" & adoRs2("title")					if adoRs2("caption") & "" <> "" AND adoRs2("caption") & ""<>"<P> </P>" then						Response.Write "<br>" & adoRs2("caption") & " <strong><a href='" & adoRs2("template") & "?active_page_id=" & adoRs2("page_id") & "'>Mais...</a></strong><br/><br/>"					else						Response.Write "  <strong><a href='" & adoRs2("template") & "?active_page_id=" & adoRs2("page_id") & "'>Mais...</a></strong><br/><br/>"					end if					Response.Write "</li>"									adoRs2.MoveNext				wend				Response.Write "</ul>"

Obrigado pela força galera!

Compartilhar este post


Link para o post
Compartilhar em outros sites

qual parte de sua duvida você nao sabe fazer?Se o conteudo todo fica no banco .. você tem que criar uma consulta.. comparando o termo digitado com o campo que possui o conteudo.Provavelmente, no sql, você vai ter que usar o LIKE .. para pegar termos parecidos com o digitado..Alguma coisa assimPra mostrar o link .. depende muito de como esta o conteudo no seu banco..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá dark0, minha dificuldade é em exibir um trecho onde a palavra foi encontrada. Tá no campo 'content' que é do tipo memorando.O resto já foi todo feito.Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Isso é simples mais hoje jé estou inde embora do trampo!Amanhâ posto com detalhes para não passar códigos com erros, OK? http://forum.imasters.com.br/public/style_emoticons/default/natal_happy.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Salve.. é simples cara...

 

Seguinte, você no loop que retorna a consulta sql, você têm:

 

while not adoRs2.eof	Response.Write "<li>" & adoRs2("title")	if adoRs2("caption") & "" <> "" AND adoRs2("caption") & ""<>"<P> </P>" then		Response.Write "<br>" & adoRs2("caption") & " <strong><a href='" & adoRs2("template") & "?active_page_id=" & adoRs2("page_id") & "'>Mais...</a></strong><br/><br/>"	else		Response.Write " <strong><a href='" & adoRs2("template") & "?active_page_id=" & adoRs2("page_id") & "'>Mais...</a></strong><br/><br/>"	end if	Response.Write "</li>"adoRs2.MoveNextwendEntão, é só tratar o retorno do recordset fazendo um Replace...

Exemplo:

 

 

while not adoRs2.eof	titulo = adoRs2("title")	titulo = Replace(titulo, sSearchKeywords, "<b><u>"&titulo&"</u></b>")	caption = adoRs("caption")	caption = Replace(caption, sSearchKeywords, "<b><u>"&caption&"</u></b>")	Response.Write "<li>" & titulo	if caption & "" <> "" AND caption & ""<>"<P> </P>" then		Response.Write "<br>" & caption & " <strong><a href='" & adoRs2("template") & "?active_page_id=" & adoRs2("page_id") & "'>Mais...</a></strong><br/><br/>"	else		Response.Write " <strong><a href='" & adoRs2("template") & "?active_page_id=" & adoRs2("page_id") & "'>Mais...</a></strong><br/><br/>"	end if	Response.Write "</li>"adoRs2.MoveNextwend

Abraços!

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.