En el siguiente articulo se
detalla los pasos a seguir para la conformación de
un buscador simple, espero les sea de ayuda.
Comenzando a armar el
buscador
Nos basaremos en 5 puntos en el
armado del buscador, uno será la conformación de
una base de datos donde almacenaremos toda la
información para la posterior búsqueda, luego
armaremos un formulario para la carga de datos
información para nuestro buscador en HTML, también
haremos la Web en ASP que cargara todos los datos
de nuestro formulario. Por ultimo veremos el
formulario de búsqueda en HTML y finalmente el
Buscador en ASP.
La Base de Datos
Haremos una simple base de
datos en Access con la cual podremos cargar los
datos a luego buscar. Creemos una base de datos la
cual llamaremos base.mdb, cuando nos toque la
parte de diseño de una nueva tabla ingresemos los
siguientes Campos:
| Campo |
Tipo |
Descripción |
| nombre |
Texto |
nombre del sitio |
| des |
Texto |
descripción del sitio |
| url |
Texto |
dirección del sitio |
| categoría |
Texto |
categoría a la que corresponde |
| pal |
Texto |
palabras claves |
Veamos en que consisten estos
campos, el primero será el nombre de la Web la
cual tenemos en nuestro buscador, la segunda, que
es Des, es el equivalente a la descripción de la
pagina, un breve comentario, el campo URL, será la
url de la Web la cual agregamos a nuestro
buscador, campo categoría, esta es opcional, si
queremos dividir en categorías a nuestras Web y
por ultimo el campo pal, en el cual ingresaremos
las palabras clave por la cual buscara nuestro
buscador.
Una vez hecha la base de datos,
comencemos a cargarla, para eso necesitaremos un
formulario HTML, que nos permita cargar los datos,
aquí un ejemplo de cómo podría ser uno:
Cargar.htm(*)
<HTML>
<HEAD>
<TITLE>Buscador web</TITLE>
</HEAD>
<!-- esta es la accion
que hara cuando hagamos clic en el Boton INGRESAR
-->
<BODY
BGCOLOR="#FFCC00">
<FORM METHOD="Post"
ACTION="ingreso.asp">
<!-- esto es
modificable, lo que debemos dejar siempre es el
nombre de el INPUT, que como ´vemos es Dato1,
Dato2 etc. -->
<P
ALIGN="left"><FONT FACE="Tahoma"
SIZE="2"><B><I>Nombre
<INPUT
TYPE="text" NAME="Dato1" SIZE="20">
</I></B></FONT></P>
<P ALIGN="left"><FONT FACE="Tahoma"
SIZE="2"><B><I>Descripcion
<TEXTAREA ROWS="2"
NAME="Dato2"
COLS="20"></TEXTAREA></I></B></FONT></P>
<P ALIGN="left"><FONT FACE="Tahoma"
SIZE="2"><B><I>Url
<INPUT
TYPE="text" NAME="Dato3"
SIZE="17"></I></B></FONT></P>
<P ALIGN="left"><FONT FACE="Tahoma"
SIZE="2"><B><I>Categoria
<!-- una lista desplegable con categorías
ya predeterminadas, esto tambien lo podemos
´modificar
-->
</I></B></FONT>
<SELECT
SIZE="1" NAME="Dato4">
<OPTION
VALUE="Municipios">Municipios</OPTION>
<OPTION VALUE="Comidas
Regionales">Comidas Regionales</OPTION>
<OPTION VALUE="Atractivos
Turisticos">Atractivos
Turisticos</OPTION>
<OPTION
VALUE="Servicios al Turista">Servicios al
Turista</OPTION>
<OPTION VALUE="Datos
Historicos">Datos Historicos</OPTION>
<OPTION VALUE="Productos
Regionales">Productos Regionales</OPTION>
<OPTION VALUE="Eventos
Culturales">Eventos Culturales</OPTION>
<OPTION VALUE="Galeria
Fotografica">Galeria Fotografica</OPTION>
<OPTION
VALUE="Videos">Videos</OPTION>
<OPTION VALUE="Historias y
Leyendas">Historias y Leyendas</OPTION>
<OPTION VALUE="Rutas y Caminos">Rutas y
Caminos</OPTION>
<OPTION
VALUE="Turismo Aventura">Turismo
Aventura</OPTION>
<OPTION
SELECTED="SELECTED"
VALUE="-Seleccionar-">-Seleccionar-</OPTION>
</SELECT></P>
<P
ALIGN="left"><FONT FACE="Tahoma"
SIZE="2"><B><I>Palabras Clave
<TEXTAREA ROWS="2"
NAME="Dato5"
COLS="20"></TEXTAREA></I></B></FONT></P>
<P
ALIGN="left">
</P>
<P ALIGN="center"> <INPUT
TYPE="submit" VALUE="Ingresar"
NAME="B1">
<INPUT TYPE="reset"
VALUE="Restablecer" NAME="B2"> </P>
</FORM>
<P ALIGN="center"><FONT
FACE="Tahoma" SIZE="2">Buscador Web
2002</FONT></P>
</BODY>
</HTML>
(*) Desde ya vale una
aclaración, estas opciones son de un buscador
realizado para la Web ConozcaMisiones.com quien
WebMaster es el que escribe el artículo.
Si vemos el código HTML en una
de las primeras líneas vemos que tenemos un POST,
el cual es la página siguiente a la que se
ingresara cuando cargamos los datos y damos
INGRESAR.
Esta misma se ira a la página
ingreso.asp, que es la que cargara los datos a la
Base de Datos, veamos el código del mismo y su
actuación:
Ingreso.asp
<!-- definimos el lenguaje
a utilizar -->
<%@ Language="VBScript"
%>
<html>
<head>
<title>Ingreso
de Datos</title>
</head>
<!--
comienza el script -->
<%
'definimos
la variable de conexion
Dim
Conexion,Tabla
Set Conexion =
Server.CreateObject("ADODB.Connection")
Set
Tabla =
Server.CreateObject("ADODB.Recordset")
'conectamos
a la base de datos mediante OLE ODBC dando el
Driver
Conexion.Open "Driver={Microsoft Access
Driver (*.mdb)}; " & "Dbq=" &
Server.MapPath("base.mdb")
'definimos la
variable de carga de datos
Dim
Temp
'buscamos los datos
Temp="Select *
From Tabla1 Where UCase(Nombre)='" &
UCase(Request("Dato1")) & "' And UCase(Des)='"
& UCase(Request("Dato2")) & "' And
UCase(Url)='" & UCase(Request("Dato3")) &
"' And UCase(Categoria)='" &
UCase(Request("Dato4")) & "' And UCase(Pal)='"
& UCase(Request("Dato5"))
&"'"
Tabla.Open Temp,Conexion,2,3,1
'si
no se repiten agregamos los datos a nuestro
buscador
If Tabla.BOF And Tabla.EOF
Then
Tabla.AddNew
Tabla("Nombre") =
Request("Dato1")
Tabla("des") =
Request("Dato2")
Tabla("Url") =
Request("Dato3")
Tabla("Categoria") =
Request("Dato4")
Tabla("Pal") =
Request("Dato5")
Tabla.Update
'fin del
Script
%>
<font face="Tahoma"
size="2"><b><i>Ingreso de datos
completado</i></b></font></p>
<%
'si
el campo ya existe para no hacer dobles nos da
este mensaje
Else
Response.Write "El
registro ya existe"
End If
'cerramos la
conexion
Tabla.Close
Conexion.Close
%>
<p
align="center"><font face="Tahoma"
size="2"><b><i>Buscador Web
2002</i></b></font></p>
<p
align="center"><font face="Tahoma"
size="2"><b><i><a
href="ingreso.htm"
target="_top">Ingresar
Nuevo</a></i></b></font></p>
</body>
</html>
Observemos bien el script, y
centrémonos en la carga de datos, hace un REQUEST
de los datos que ingresamos en el formulario, y
comprueba que no exista una igualdad en los datos,
una vez hecho esto agrega con la sentencia ADDNEW
una nueva fila a nuestra base de datos.
Datos para aclarar y
recordar
Tenemos que recordar que en el
formulario en el campo URL debemos ingresar la url
de la Web a la cual queremos vincular, si esta
dentro de nuestra Web, por ejemplo si esta dentro
de www.mipagina.com y la url de la sección es
www.mipagina.com/prueba/prueba.htm simplemente
omitimos el www.mipagina.com/ y añadimos
prueba/prueba.htm ya veremos el porque de esto. En
cambio si se encuentra en otra Web simplemente
www.mipagina.com.
Buscando...
Ahora bien, hemos cargado los
datos a nuestra base de datos, ya estamos listos
como para comenzar a buscar mediante los datos
cargados en ella. Para eso veremos un formulario
el cual nos pedirá que ingresemos una palabra
clave, y luego pasara a la pagina ASP. El
formulario será muy simple, solamente tendrá un
campo de texto donde ingresaremos la palabra clave
a buscar, veamos como seria:
Buscar.htm
<html>
<head>
<title>Busqueda</title>
</head>
<!--
Post a buscar.asp -->
<form method="Post"
action="buscar.asp">
<body
bgcolor="#FFFFCC">
<p
align="center"><font face="Tahoma"
size="2"><b><i>Ingrese Palabra a
buscar</i></b></font>
</p>
<!--
fijemosnos en esta linea en el Name del INPUT,
algo muy importante -->
<p
align="center"><input type="text"
name="palabra"
size="20">
</p>
<p
align="center">
<input type="submit"
value="Buscar" name="boton1">
<input
type="reset" value="Restablecer"
name="boton"></form>
<p>
</p>
</body>
</html>
Notaran que eh hecho una
llamadita en el Input NAME, porque es esto, ya que
si cambiamos el nombre del mismo y no lo cambiamos
en la página ASP quizás no nos funcione, por eso
noten que el INPUT NAME es Palabra. Pasemos a la
pagina ASP ahora que es el ultimo paso que nos
queda por hacer luego de haber ya cargado los
datos y ya puesto la palabra a buscar, el código
de búsqueda es el siguiente:
Buscar.asp
<html>
<head>
<title>Buscar
datos</title>
</head>
<body
bgcolor="#FFFFCC">
<!-- Esta linea nos
dira los resultados obtenidos con la palabra clave
-->
<p><font face="Tahoma"
size="2">Resultados obtenidos con
<strong><%=Request("Palabra")
%></strong></font></p>
<%
´realizamos
la conexión de la Base de Datos
Dim
Conexion,Tabla
Set
Conexion=Server.CreateObject("adodb.connection")
Set
Tabla=Server.CreateObject("adodb.recordset")
Conexion.Open
"Driver={Microsoft Access Driver (*.mdb)}; " &
"Dbq=" &
Server.MapPath("base.mdb")
'definimos las
variables de busqueda
Dim
Temp,Rango
Rango=Request("Tipo")
If
Rango="1" Then
'En la Tabla la palabra que
buscamos
Temp="Select * From Tabla1 Where
UCase([pal])='" &
UCase(Request("palabra"))'"
Else
Temp="Select
* From Tabla1 Where InStr(UCase([pal]),'" &
UCase(Request("Criterio")) & "')>0"
End
If
Tabla.Open Temp, Conexion
If Tabla.BOF
And Tabla.EOF Then
%>
<!-- si no
encuentra nada nos da este mensaje
-->
<p><font face="Tahoma"
size="2">No se ha encontrado nada con
<strong><%=Request("palabra")%></strong>
en la Base de
Datos</font></p>
<!-- aquí
comienza el Script que nos muestra los resultados,
si los encuentra, en una tabla
-->
<%
Else
%>
<div
align="center"><center>
<table
border="1" cellpadding="0" cellspacing="0"
width="100%" height="74"
bordercolor="#C0C0C0">
<tr>
<td
width="28%" height="19">
<p
align="center"><strong><font
face="Tahoma"
size="2">Categoria</font></strong>
</td>
<td
width="28%" height="19">
<p
align="center"><strong><font
face="Tahoma" size="2">Nombre de la
pagina</font></strong></p>
</td>
<td
width="52%" height="19">
<p
align="center"><strong><font
face="Tahoma"
size="2">Descripcion</font></strong>
</td>
<td
width="19%" height="19">
<p
align="center"><strong><font
face="Tahoma"
size="2">Url</font></strong></p>
</td>
</tr>
<%
While Not Tabla.EOF%>
<tr>
<td
width="28%" bgcolor="#FFCC00"
height="51">
<p
align="center"><font face="Tahoma"
size="2"><%=Tabla.Fields("Categoria")%></font></td>
<td
width="28%" bgcolor="#FFCC00"
height="51">
<p
align="center"><font face="Tahoma"
size="2"><%=Tabla.Fields("Nombre")%></font></td>
<td
width="52%" bgcolor="#FFCC00"
height="51">
<p
align="center"><font face="Tahoma"
size="2"><%=Tabla.Fields("Des")%></font></td>
<td
width="19%" bgcolor="#FFCC00"
height="51">
<!-- Convertimos los datos
URL en el vinculo de la palabra IR -->
<p
align="center"><a
href="<%=Tabla.Fields("url")%>"><font
face="Tahoma"
size="2">Ir</font></a>
</tr>
<%
'si
encuentra mas de un resultado nos hace una celda
mas en la
tabla
Tabla.MoveNext
Wend
Tabla.Close
Conexion.Close
End
If
%>
</table>
</center></div>
<p
align="center"><font face="Tahoma"
size="2">Busquedas</font></p>
<p
align="center"><font face="Tahoma"
size="2">2002</font></p>
<p
align="center">
</p>
</body>
</html>
Bien, este es el código en si,
pero también debemos saber comprenderlo. Si
recuerdan cuando hicimos la base de datos habíamos
insertado varios campos, entre ellos Pal y el otro
URL, que eran los que quizás los hayan
desconcertado.
Pues estos es uno el de las
Palabras clave, ósea, por el que buscara nuestro
"Buscador" cuando tenga que dirigirse a la Base de
datos.
Luego la URL, que explicábamos
en la parte de Ingreso de Datos. En esta pagina no
nos muestra la URL sino que nos muestra la palabra
IR, que tiene el código HTML para convertirse en
vinculo en base a la URL de la Base de Datos
|