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

Busca Com Paginação


hellxande

Pergunta

Boa Tarde a todos.

Através do próprio Fórum encontrei várias dicas, sobre Busca e Paginação, em minha aplicação consegui faze-lo separados, porém não estou conseguindo faze-los juntos.

Ocorre o seguinte problemas:

Na Busca quando processa ele não apresenta só o limite de registros que escolhi na primeira página, apresenta todos os registros com a palavra buscada em seguinte quando clico na Página 2 ele ai me mostra todos os registros do Banco.

Sinceramente não sei onde estou errando, mas provevelmente seja algo muito simples, sendo assim agradeço a atenção de todos e aguardo qualquer ajuda.

Atenciosamente

Hellxande

Ps: Segue o Código abaixo:

------------------------

<%

Set db = server.createobject("adodb.connection")

db_formular = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db/formular.mdb")

db.CursorLocation = 3

db.Open "db_formular"

campo = request("busca")

tab = Server.CreateObject("adodb.recordset")

sql = "select * from produto where ProdutoDescricao like '%"&campo&"%'"

set tab = db.execute(sql)

%>

<%

registros = 1

pagina = Request.QueryString("pagina")

If pagina = "" Then

pagina = 1

End If

Set rs = Server.Createobject("ADODB.RECORDSET")

set rs.ActiveConnection = db

rs.CursorType = 3

rs.PageSize = registros

sql = "SELECT * FROM produto ORDER BY ProdutoNome ASC"

rs.Open sql

If rs.EOF Then

Response.Write "Nenhum registro encontrado"

Else

rs.AbsolutePage = pagina

While Not rs.EOF AND x < rs.PageSize

x = x + 1

%>

<%

count = 0

Do While Not tab.eof

%>

<table width="750" border="0" align="center" cellpadding="1">

<tr>

<td><strong><font color="#637AAC" size="1" face="Verdana, Arial, Helvetica, sans-serif">Resultado

da Pesquisa:</font></strong></td>

</tr>

<tr>

<td> </td>

</tr>

<tr>

<td><table width="80%" border="0" align="center" cellpadding="2" cellspacing="1">

<tr>

<td width="12" height="28" bgcolor="#637AAC"><strong><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif">Produto:</font></strong></td>

<td width="43%" bordercolor="#637AAC"><font color="#333333" size="1" face="Verdana, Arial, Helvetica, sans-serif"><%= tab("ProdutoNome") %> </font></td>

<td width="45%" rowspan="2" bordercolor="#637AAC"><div align="center">

<table width="70%" border="0" cellpadding="0" bordercolor="#637AAC">

<tr>

<td><div align="center"><img src="<%=tab("ProdutoFoto")%>" align="absmiddle"></div></td>

</tr>

</table>

</div></td>

</tr>

<tr bordercolor="#637AAC">

<td width="12" height="12" bordercolor="#637AAC" bgcolor="#637AAC"><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif"><strong>Descrição:</strong></font>

</td>

<td bordercolor="#637AAC"><font color="#333333" size="1" face="Verdana, Arial, Helvetica, sans-serif"><%= tab("ProdutoDescricao") %> </font></td>

</tr>

</table></td>

</tr>

<tr>

<td align="right"><strong><font color="#637AAC" size="1" face="Verdana, Arial, Helvetica, sans-serif"></font></strong></td>

</tr>

</table>

<%

tab.MoveNext

count=count+1

Loop

%>

<%

rs.MoveNext

Wend

anterior = pagina - 1

proxima = pagina + 1

ultima = rs.PageCount

primeira = 1

ultm2 = FormatNumber(rs.PageCount - 1,0)

If pagina <> 1 Then

Response.Write "<b>« <a href=resultado3.asp?pagina="&primeira&">Primeira Página</a></b> "

End If

If pagina > 1 AND pagina <> 2 Then

Response.Write "<b>[ <a href=resultado3.asp?pagina="&anterior - 1&">"&anterior - 1&"</a> ]</b> "

End If

If pagina > 1 Then

Response.Write "<b>[ <a href=resultado3.asp?pagina="&anterior&">"&anterior&"</a> ]</b> "

End If

Response.Write "<b>[ "&pagina&" ]</b> "

If Not rs.EOF Then

Response.Write "<b>[ <a href=resultado3.asp?pagina="&proxima&">"&proxima&"</a> ]</b> "

End If

If Not rs.EOF AND pagina <> ultima AND pagina <> ultm2 Then

Response.Write "<b>[ <a href=resultado3.asp?pagina="&proxima + 1&">"&proxima + 1&"</a> ]</b> "

End If

If Not rs.EOF Then

Response.Write "<b><a href=resultado3.asp?pagina="&ultima&">Última Página</a> »</b> "

End If

tab.Close

rs.Close

Set tab = Nothing

Set rs = Nothing

End If

%>

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

vamos por partes primeiro passe o parametro da busca para as outras paginas coloque nos links

Response.Write "<a href=resultado3.asp?pagina="&ultima&"&busca="&campo&">Última Página</a> "

rode o codigo e informe o que deu...

Link para o comentário
Compartilhar em outros sites

  • 0

Prezado Bareta

Fiz a alteração que me e agora ele este realmente buscando somente o produto desejado, porém a numeração das Páginas apresenta como se tivesse mostrando td.

Ex: o Produto que busquei tem 2 tipos, conforme parametrizo neste trecho:

registros = 1

pagina = Request.QueryString("pagina")

If pagina = "" Then

pagina = 1

End If

Deveria me mostrar 1 produto por Página, mas ele fica mostrando os 2 e ainda apresenta os números de páginas em baixo, de Primeira Página [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] Última Página como se tivessem vários produtos, mas quando clico na página nº 6 mostra o mesmo conteúdo da Primeira Página.

Sobre a questão de mostrar a Ultima página conforme a qtd de registros buscados realmente eu ainda não coloquei no Código, pois ainda não sei como fazer.

Porém o que me deixou confuso, foi a limitação de produtos por página que não esta funcionando.

Diante disso aguardo nova sugestão e se possível uma dica de como fazer esta parte da Última página.

Atenciosamente

Hellxande

Link para o comentário
Compartilhar em outros sites

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,3k
    • Posts
      652,3k
×
×
  • Criar Novo...