|
|
|

|

|
Dicas
|

|
ASP - Active Server Page (Miscelâneas)
|
|
 |
Título da Dica: Criando um sistema de busca.
|
 |
|
|
Postada em 28/8/2003 por DTLucchesi
Para criar um sistema de busca você precisa antes de tudo planejar e criar um banco de dados. Neste sistema usaremos um banco de dados Access, com apenas uma tabela e cinco colunas.
1° Passo: O banco de dados Crie um banco de dados chamado banco.mdb, feito isso, crie uma tabela chamada websites com as colunas: id_site, titulo, descricao e url, de acordo com a imagem ao lado. O campo id_site, deve ser setado como chave primária. Para fazer isso clique com o botão direito sobre a coluna e selecione a linha chave primária.
ID_SITE - AUTONUMERAÇÃO TITULO - TEXTO DESCRICAO - MEMORANDO URL - MEMORANDO
Pronto, a base de dados já foi criada. Agora vamos mexer com a programação, antes, veremos o que o site precisará. - Página em que o usuário digite o que deseja procurar; - A página com os resultados; - Página de cadastro de novos sites;
2° Passo: A página de procura Está é a parte mais fácil. Apenas um arquivo .html com um campo de texto, um botão e um formulári, veja o código:
formulario.html <html> <head> <title>BUSCA NINJA</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head>
<body> <form name="form_busca" method="post" action="resultados.asp"> <p> <IMG src="logotipo_ninja.jpg" width="272" height="87" border="0"> </p> <p> <input name="palavra" type="text" id="palavra"> <input type="submit" name="Submit" value="Buscar!"> </p> </form>
</body> </html>
3° Passo: A página de resultados Aqui é que vai entrar a programação ASP. Explicarei linha por linha o código:
Crio uma conexão com o banco de dados usando ADO set conexao = server.createobject("adodb.connection") abrir = "DRIVER={Microsoft Access Driver (*.mdb)};"&"DBQ="&server.mappath("banco.mdb") conexao.open abrir
Crio o recordset que procurará no banco de dados, registros com palavras semelhantes às digitadas na página formulario.html set resultados = server.createobject("adodb.recordset") ins_sql = "select * from websites where descricao like '%"&query_busca&"%'" resultados.open ins_sql, conexao, 3
Defino a variável total_resultados, que no exemplo conta os registros encontrados total_resultados = resultados.recordcount
Início do loop dos resultados, aqui é impresso na tela os resultados, junto ao html <% do while not resultados.eof %> >> <a href="<%=resultados("url")%>"><%=resultados("titulo")%></a><br> <%=resultados("descricao")%><br> <a href="reportar.asp?id_site=<%=resultados("id_site")%>"><font color="#666666" size="1">Reportar erro no link</font></a><br> <br>
Fecho a conexao e libero memória no servidor <% resultados.movenext loop resultados.close set resultados = nothing %> </font>
Código completo do arquivo resultados.asp <title>BUSCA NINJA por <%=request.querystring("palavra")%></title><% set conexao = server.createobject("adodb.connection") abrir = "DRIVER={Microsoft Access Driver (*.mdb)};"&"DBQ="&server.mappath("banco.mdb") conexao.open abrir query_busca = request.querystring("palavra")
set resultados = server.createobject("adodb.recordset") ins_sql = "select * from websites where descricao like '%"&query_busca&"%'" resultados.open ins_sql, conexao, 3
total_resultados = resultados.recordcount %> <font size="2" face="sans-serif"><font color="#333333" size="3"> <img src="logotipo_ninja.jpg" width="272" height="87" border="0"> <br> Resultados da busca por <strong><%=query_busca%></strong></font><br> Foram encontrados<strong> <%=total_resultados%> </strong>websites<br> <br> <br> <% do while not resultados.eof %> >> <a href="<%=resultados("url")%>"><%=resultados("titulo")%></a><br> <%=resultados("descricao")%><br> <a href="reportar.asp?id_site=<%=resultados("id_site")%>"><font color="#666666" size="1">Reportar erro no link</font></a><br> <br> <% resultados.movenext loop resultados.close set resultados = nothing %> </font>
Execute o código e você terá como resposta:
4° Passo: A página de cadastro Esta é outra página simples. Apenas html! veja o código do formulário abaixo: cadastro.html <form name="form_cad_ninja" method="post" action="cadastrar.asp"> <img src="logotipo_ninja.jpg" width="272" height="87"><br> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="10%"><font size="2" face="sans-serif">Titulo:</font></td> <td width="90%"><font size="2" face="sans-serif"> <input type="text" name="titulo"> </font></td> </tr> <tr> <td><font size="2" face="sans-serif">Url:</font></td> <td><font size="2" face="sans-serif"> <input name="url" type="text" value="http://"> </font></td> </tr> <tr> <td valign="top"><font size="2" face="sans-serif">Descricão:</font></td> <td><font size="2" face="sans-serif"> <textarea name="descricao"></textarea> </font></td> </tr> <tr> <td><font size="2" face="sans-serif"> </font></td> <td><font size="2" face="sans-serif"> <input type="submit" name="Submit" value="Cadastrar!"> </font></td> </tr> <tr> <td><font size="2" face="sans-serif"> </font></td> <td><font size="2" face="sans-serif"> </font></td> </tr> </table> </form>
5° Passo: Cadastrando! Está é a página que irá inserir o registro no banco de dados. Veja o código: <title>BUSCA NINJA por </title><% set conexao = server.createobject("adodb.connection") abrir = "DRIVER={Microsoft Access Driver (*.mdb)};"&"DBQ="&server.mappath("banco.mdb") conexao.open abrir
set resultados = server.createobject("adodb.recordset") ins_sql = "insert into websites (titulo, descricao, url) values ('"&request.form("titulo")&"','"&request.form("descricao")&"','"&request.form("url")&"')" resultados.open ins_sql, conexao, 3 resultados.close set resultados = nothing %>
Registro inserido com sucesso! </font>
|
|
|
|

|