Ir para conteúdo
Fórum Script Brasil
  • 0

Ajuda Com Sistema De Busca


AWD

Pergunta

Olá!

Estou fazendo um sistema de busca http://a.domaindlx.com/buscaki/busca

E gostaria de saber como fazer para que quando você especifica o numero de resultados ali no inicio, aparece aquele numero de resultados por pagina, ou seja, você coloca 5 ali, e apareca 5 resultados em cada pagina, e n quando c coloca 5, só fica os 5 resultados mesmo.

Muito Obrigado!

código busca.asp

<style>

<!--

.link:link { color:black; font-family: verdana }

.link:active { color:black; font-family: verdana }

.link:hover { color:red; font-family: verdana }

a:visited { color:black; font-family: verdana }

.style8 {font-size: 16px; }

.style9 {color: #CCCCCC}

-->

</style>

</head>

<font face="verdana" size="2">

<!--Aqui criamos o formulário para pesquisa-->

</font><form name="search" action="busca_resp.asp" method="post">

<div align="left"><font size="2" face="verdana">

Pesquisar por:

<input type="text" name="buscar" size="20">

<br>

<br>

<select name="num">

<option value="10000">- - Todos - -

<%

'aqui fazemos um loop com o for para criarmos o list para que o usuário escolha qts resultados

'deve-se mostrar na hora da pesquisa

for i = 5 to 50 step 5

%>

<option value="<%=i%>"><%=i%>

<%Next%>

</select>

&nbsp;

<input type="Submit" value="Buscar">

&nbsp;

</font></div>

</form><font face="verdana" size="2"><p>

<a href="cadastrar_url.asp" class="link">Incluir site</a>

</font>

<p>&nbsp;</p>

<table width="455" height="200" border="1" align="center" cellpadding="2" cellspacing="2" bordercolor="#EFEFEF">

<tr>

<td width="508" bordercolor="#000033" bgcolor="#EFEFEF"><div align="center"><span class="style8"><font face="Verdana, Arial, Helvetica, sans-serif"><strong>Seja Bem Vindo </strong></font></span><font face="Verdana, Arial, Helvetica, sans-serif" color="#FFFFFF"><strong><br>

</strong></font></div></td>

</tr>

<tr>

<td height="135" bordercolor="#000033" bgcolor="#FFFFFF"><div align="center" class="style8">

<p class="style8"><font face="Verdana, Arial, Helvetica, sans-serif">Seja bem vindo ao Buscaki!</font></p>

<p class="style8"><font face="Verdana, Arial, Helvetica, sans-serif">Os melhores sites est&atilde;o aqui!</font></p>

<p class="style8">&nbsp;</p>

</div></td>

</tr>

<tr>

<td bordercolor="#000000" bgcolor="#FFFFFF"><div align="left">

<table width="100%" border="0" bordercolor="#000000" bgcolor="#EFEFEF">

<tr>

<td width="51%" bgcolor="#CCCCCC" class="style8"><font face="Verdana, Arial, Helvetica, sans-serif">Postado por </font>AWD<span class="style9">................................................</span>2/10/2005 20:10 </td>

</tr>

</table>

</div></td>

</tr>

</table>

<font face="verdana" size="2">

<p>

</font>

código busca_resp.asp

<style>

<!--

.link:link { color:black; font-family: verdana }

.link:active { color:black; font-family: verdana }

.link:hover { color:red; font-family: verdana }

a:visited { color:black; font-family: verdana }

.style1 {color: #000000}

-->

</style>

</head>

<font size="2" face="verdana">

<!--aqui é o include da conexão com o banco de dados-->

<!--#include file="cn.asp"-->

<%

'aqui fazemos o request dos dados da busca

busca = request("buscar")

num = request("num")

categoria = request("categoria")

'aqui criamos um record set para fazer a seleção

'e fazer a contagem de registro no banco de dados

set ls = Server.CreateObject("ADODB.RecordSet")

'aqui damos a condição de que se o nº de registro que o usuário

'quer mostrar for igual a * ele mostra todos

if num = "*" then

s = "select * from busca where descricao LIKE '%"&busca&"%' OR endereco LIKE '%"&busca&"%' OR titulo LIKE '%"&busca&"%' OR categoria LIKE '%"&busca&"%'"

else

'ou então ele mostra o nº de registros solicitados

s = "select top " & num & " * from busca where descricao LIKE '%"&busca&"%' OR endereco LIKE '%"&busca&"%' OR titulo LIKE '%"&busca&"%' OR categoria LIKE '%"&busca&"%'"

end if

if categoria = "*" then

'ou então ele mostra o nº de registros solicitados

s = "select top " & categoria & " * from busca where descricao LIKE '%"&busca&"%' OR endereco LIKE '%"&busca&"%' OR titulo LIKE '%"&busca&"%'"

end if

'aqui abrimos o select com o recordset (ls) para fazer a contagem de

'registros encontrados no banco de dados

ls.Open "select Count(*) as conta from busca where descricao LIKE '%" & busca & "%' OR endereco LIKE '%" & busca & "%' OR titulo LIKE '%" & busca & "%'", cn

'aqui mandamo o recordset executar o select para mostrar os

'dados na tela

set rs = cn.Execute(s)

'aqui criamos a variavel contar para mostrar o nº de registros

'encontrados no banco de dados

contar = ls("conta")

'aqui damos a condição de que se não estiver ainda não estiver no último registro

'do banco de dados ele vai montando a tela

if NOT rs.EOF then

%>

<!--aqui mostramos o nº de registros encontrados-->

<center><b>Resultado(s) encontrato(s) no Banco de Dados</b><font color="red"> <%=contar%></font></center><p>

Palavra pesquisada: <b><%=busca%></b></font>

<p>

<font size="2" face="verdana">

<!--final da contagem-->

<%

'aqui criamos o loop com while para mostrar os registros

while not rs.EOF

%>

<a href="<%=rs("endereco")%>" target="_blank" class="link"><b><%=rs("titulo")%></b></a> - adicionado em: <%=rs("data")%><br>

<font color="red"><%=rs("descricao")%></font></font>

<font color="red" size="2" face="verdana"><br>

</font><font size="2" face="verdana"><span class="style1">Categoria:</span></font><font color="red" size="2" face="verdana"><%=rs("categoria")%></font><font size="2" face="verdana">

<hr width="100%">

<%

'aqui mandamos os recordset pular pro próximo registro

rs.MoveNext

'aqui finalizamos o loop

Wend

else

'caso ele não ache nada no banco de dados

'ele acusa que não foi encontrado nenhum registro

response.write "Nenhum registro encontrado!<p><a href='busca.asp' class='link'>Voltar</a>"

end if

'aqui fechamos o recordset

ls.Close

'aqui fechamos a conexão com o banco de dados

cn.Close

'aqui limpamos o recordset

set ls = nothing

%>

</font>

Valeusão!

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,7k
×
×
  • Criar Novo...