Código del motor de búsqueda del sitio web Asp
Texto de URL (Índice: Sí (sin duplicados))
Texto de título
Texto de descripción
Texto de resumen
Texto de palabra clave (índice: sí (sin duplicados))
doquery.asp
ltHTML gt ltHEAD gt ltTITLE gtMotor de búsqueda simple
ltBODY BGCOLOR = # ffffff ancho del margen = " 0 " alto del margen = " 0 "
LEFTMARGIN = 0 TOPMARGIN = 0 gt
ltFORM METHOD = " post " ACTION = " hacer consulta .ASP?act = buscar " gt
Consulta: ltINPUT TYPE = " Texto " NOMBRE = " cadena de consulta " > ltBR gt
ltINPUT TYPE = " Enviar " VALOR = " Enviar " gt; p>
lt/FORM gt;
lt/CENTER gt;
lt
dim act
act=request ("actuar ")
si(act="search ")entonces
cadena de consulta = Solicitud(" cadena de consulta ")
QueryWords = Split( QueryString ) p>
strIndent = " "
Devuelve si la búsqueda está vacía.
Si QueryString = " "Entonces
Respuesta. Redirect(" default.asp ")
Terminará si...
Session.timeout = 2
Si es object(Session(" sitesearch _ conn ")), luego
set conn = Session(" sitesearch _ conn ")
Otros
Set conn = server. CreateObject("ADODB.Connection")
conn .open " Driver = { Microsoft Access Driver(*.MDB)}; dbq = " amp servidor.
MapPath(" base de datos/sitesearch . MDB "), "", ""
set Session(" sitesearch _ conn ")= conn
Terminará si... p>
Declaración de consulta
SQL = " SELECT * FROM[URL index]WHERE "
Campo de descripción de búsqueda
sql = sql amp"([ descripción] Como "" amp; palabras de consulta(0) amp; "'" primero
para I = LBound(palabras de consulta) 1 a UBound(Palabras de consulta)
si palabras de consulta( I) lt; gt "" y UCase(palabras de consulta(I)) lt; gt "OR" y UCase(palabras de consulta(I)) lt; ¿Y luego qué?
If uCase( QueryWords( i-1 ) ) = "o" entonces
sql = sql amp o [descripción] similar a "" amp palabra de consulta (1) amp'"
Otros
sql = sql amp y "" amp; palabra de consulta (1) amp'"
Si... terminará
Si... terminará
Luego
Buscar campo de palabras clave
sql = sql amp") o ([palabra clave] como "" amp; palabras de consulta(0) amp;'"
for I = LBound(palabras de consulta) 1 a UBound(Palabras de consulta)
if palabras de consulta(I) lt; gt "" y UCase(palabras de consulta(I)) lt; gt "OR" y UCase (palabras de consulta(I)) lt; gt "Entonces
Si uCase( QueryWords( i-1 ) ) = "o" entonces
sql = sql amp o como "" amp Palabra de consulta (1) amp'"
Otros
sql = sql amp y "" amp; Palabra de consulta (1) amp'"
Si…terminará
Terminará si…
Entonces
Buscar campo de título
sql = sql amp”) o ([ título] como "" & palabras de consulta(0) & '"
para I = LBound(palabras de consulta) 1 a UBound(Palabras de consulta)
si palabras de consulta( I) lt; gt "" y UCase(palabras de consulta(I)) lt; gt "OR" y UCase(palabras de consulta(I)) lt; ¿Y luego qué?
If uCase( QueryWords( i-1 ) ) = "o" entonces
sql = sql amp o como "" amp palabra de consulta (1) amp'"
Otro
sql = sql amp y "" amp; Palabra de consulta (1) amp'"
Si... terminará
Si... terminará
Entonces
Campo de resumen de búsqueda
sql = sql amp”) o ([
Resumen] Como "" amp; palabras de consulta(0) amp;'"
para I = LBound(palabras de consulta) 1 a UBound(Palabras de consulta)
si palabras de consulta(I ) lt; gt "" y UCase(palabras de consulta(I)) lt; gt "O" y UCase(palabras de consulta(I)) lt; ¿Y luego qué?
If uCase( QueryWords( i) -1 ) ) = "o" entonces
sql = sql amp o como "" amp palabra de consulta (1) amp'"
Otro
sql; = sql amp y "" amp; Palabra de consulta (1) amp'"
Si... terminará
Si... terminará
Entonces
sql = sql amp" )"
'
establece rs = server. CreateObject("ADODB. Recordset")
rs. Abra la respuesta sql
de Connecticut 1,1. Escriba " ltBR gt ltB gt; Su término de búsqueda es:
Respuesta. Escriba " ltBR gt ltB gt; Palabra clave de búsqueda:
Para i = LBound( QueryWords) a UBound( QueryWords)
Respuesta. Escriba "ltBR>&Strandon&I&":"queryword(1)
Luego
imprima la cadena SQL
en respuesta. Escriba " ltBR gt ltB gt; :
Imprimir resultados
Respuesta. Escribe " ltBR gt ltB gt; Resultado:
Rupia PageSize =20 'Veinte páginas por página
Página = CLng(Solicitud(" Página "))
Mostrar para la página
Si no es Página gt1, entonces Página = 1
Si Página gtrs. Entonces Página = rs.
AbsolutePage = Página
Para i=1 a rs.page_size
Salga si rs.eof
Escriba " ltBR >; lt a HREF= 'OpenPage.asp?IndexURL = "amprs. campo ("URL"). valor amp gt" amprs.Field("Título") amp lt/A gt; - "
respuesta. Escribe rs. campo("descripción") &"ltBR>
Respuesta. escribir"ltFONT TAMAÑO=2 gturl:"amprs.Field("URL")&"lt/FONT>
Respuesta . Escribe " ltHR TAMAÑO = 1 ANCHO = 200 ALIGN = IZQUIERDA
rs.movenext
y luego
responde.
Escribe " lt/UL >>p>
gt
lttable cell padding = " 3 "cellspacing = " 1 " border = " 0 " width = " 100 " class = " table border " align = center gt;
ltform nombre = " formulario 2 " método = " publicación " acción = "? QueryString = lt = QueryString gt ampact = buscar " gt
lttr gt
ltTD align = " center " class = " forumRowHighlight " >>p>
ltIf page lt gt1 Entonces gt;
lta href= "? QueryString = lt = QueryString gt ampPage=1. act = buscar " gt
Primera página
lta HREF= "? QueryString = lt = QueryString gt ampPage = lt =(Página-1) gt; ampact = buscar " gt
Página anterior
lt
Si... entonces terminará
Si Page lt gtrs. Luego cuente el número de páginas
gt lt a HREF= "? QueryString = lt = QueryString gt ampPage = lt =(Página 1) gt; ampact = buscar " gt
Página siguiente
lt a HREF= "? QueryString = lt = QueryString gt ampPage = lt = Rs. PageCount gt ampact = buscar " gt
Última página
Número de página:
lt/TD gt;
lt/tr gt;
lt/form gt;
lt/table gt
ltend si
rs desactivado
rs=none
Conexión cerrada
establecer conexión=none
gt
lt/BODY gt;
lt/HTML gt;