Ir para conteúdo

POWERED BY:

Arquivado

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

xanburzum

[Resolvido] Search Engine

Recommended Posts

Um motor de pesquisa

 

Em uma tabela, chamada ArticleURL

 

 

ArticleURLID int Ch primária

URL varchar(255)

Title varchar(100)

Description varchar(255)

 

SearchStart.htm:

 

<HTML>
<BODY>
<FORM METHOD=POST ACTION="Search.asp&ID=0">
> Procurar por: <INPUT TYPE=TEXT NAME="txtSearchString" SIZE="50">
<P>
<INPUT TYPE=SUBMIT>
</FORM>
</BODY>
</HTML>

 

Em seguida, Search.asp ,vai verificar no banco de dados ,na tabela ArticleURL e retornar os dados em um user-friendly fashion. Além disso, queremos apresentar os resultados apenas 10 registros de uma vez. Vejamos alguns códigos

 

<%
'Conecta no Database
Dim Conn
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open Application("MyConnectString")

'Defina sua preferência
DefaultBoolean = "AND"
RecordsPerPage = 10

'Receba variável
Dim strSearch
strSearch = Request.form("txtSearchString")


ID = Request.QueryString("ID")


Dim strSQL, tmpSQL
strSQL = "SELECT * FROM ArticleURL WHERE "
tmpSQL = "(Description LIKE "


Dim Pos
Pos = 1
While Pos > 0
	  Pos = InStr(1, strSearch," ")
	  If Pos = 0 Then

			tmpSQL = tmpSQL & "'%" & strSearch & "%')"
	  Else
			tmpSQL = tmpSQL & "'%" & Mid(strSearch,1,Pos) & "%' " & DefaultBoolean & " Description LIKE "
			strSearch = Mid(strSearch,Pos+1,len(strSearch))
	  End If
Wend


strSQL = strSQL & tmpSQL & " AND ArticleURLID > " & ID
strSQL = strSQL & " ORDER BY ID"	'Important! 


Dim rsResults
Set rsResults = Server.CreateObject("ADODB.Recordset")


rsResults.MaxRecords = RecordsPerPage


rsResults.CursorType = adForwardOnly


rsResults.Open strSQL


Dim rsTotalRecords
strSQL = "SELECT COUNT(*) FROM ArticleURL WHERE " & tmpSQL
Set rsTotalRecords = Conn.Execute(strSQL)


>strSQL = "SELECT MAX(ArticleURLID) FROM ArticleURL WHERE " & tmpSQL
Set rsMaxID = Conn.Execute(strSQL)
%>


<HTML>
<BODY>
<% if rsResults.EOF then  
%>
Nenhum resultado encontrado! Tente aumentar os seus critérios de pesquisa.<P>
<A HREF="SearchStart.htm">Voltar à Pesquisa</A>
<% Else
Dim iCurrentID
While Not rsResults.EOF 
iCurrentID = rsResults("ArticleURLID") %>
<A HREF="<%=rsResults("URL")%>"> <%=rsResults("Title")%></A>
<%=rsResults("Description")%>

<% rsResults.MoveNext
Wend %>

<P>
<%=rsTotalRecords(0)%> Encontrado!<BR>


<% if iCurrentID < rsMaxID(0) then %>
< BR><FORM METHOD=POSTACTION="Search.asp?ID=<%=iCurrentID%>">
<INPUT TYPE=HIDDEN NAME="txtSearchString" VALUE="<%=Request.form("strSearchString")%>">
<INPUT TYPE=SUBMIT VALUE="Next">
</FORM>
<% end if 
end if  %>
</BODY>
</HTML>

 

 

Fonte: JCWcn Tutorials

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.