Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

DackAle

Busca + Paginação

Recommended Posts

E ae galerinha =)

 

Bom em um site, fi uma busca e ao mostrar os resultados há uma paginação, ele busca normalmente e mostra os resultados e embaixo a paginação...

 

Mas quando clico na segunda pagina, ao inves de continuar mostrando os registros de onde parou na pagina um, na pagina dois ele mostra todos os registros, na terceira pagina ele contiua mostrando os registro e por ae vai.....

 

AO inves de mostrar a continuação, ele mostra todos... estranho... o codigo e esse:

 

<%@ LANGUAGE="VBSCRIPT"%><!--#include file="includes/config.asp"--><!--#include file="includes/abrebanco.asp"--><!--#include file="includes/adovbs.inc"--><%currentpage=request.querystring("currentpage")var_categoria = Request.form("f_categoria")var_tipo = Request.form("f_tipo")var_local = Request.form("f_local")Response.Expires = 0Const intPageSize = 20If currentpage = "" then	intCurrentPage = 1Else	intCurrentPage = Request.Querystring("CurrentPage")	Select Case Request.Querystring("Submit")  Case "Previous" 	 intCurrentPage = intCurrentPage -1  Case "Next" 	 intCurrentPage = intCurrentPage +1  End SelectEnd IfSet exe = Server.CreateObject("ADODB.Recordset")exe.CacheSize = intPageSizeif var_categoria = "" and var_tipo = "" and var_local = "" thenSQL="SELECT * FROM imoveis ORDER BY bairro, preco ASC"elseif var_categoria = "" and var_tipo = "" thenSQL="SELECT * FROM imoveis WHERE bairro ='" & var_local & "' ORDER BY bairro, preco ASC"elseif var_categoria = "" and var_local = "" thenSQL="SELECT * FROM imoveis WHERE tipo ='" & var_tipo & "' ORDER BY bairro, preco ASC"elseif var_tipo = "" and var_local = "" thenSQL="SELECT * FROM imoveis WHERE categoria ='" & var_categoria & "' ORDER BY bairro, preco ASC"elseif var_tipo = "" thenSQL="SELECT * FROM imoveis WHERE categoria ='" & var_categoria & "' and bairro='" & var_local & "' ORDER BY bairro, preco ASC"elseif var_categoria = "" thenSQL="SELECT * FROM imoveis WHERE tipo ='" & var_tipo & "' and bairro='" & var_local & "' ORDER BY bairro, preco ASC"elseif var_local = "" thenSQL="SELECT * FROM imoveis WHERE tipo ='" & var_tipo & "' and categoria='" & var_categoria & "' ORDER BY bairro, preco ASC"elseSQL="SELECT * FROM imoveis WHERE bairro ='" & var_local & "' AND tipo ='" & var_tipo & "' AND categoria='" & var_categoria & "' ORDER BY bairro, preco ASC"end ifexe.Open sql, banco,3,3exe.PageSize = intPageSizeIf Not(exe.EOF) Then exe.AbsolutePage = intCurrentPageintTotalPages = exe.PageCount%>

Tem um resto do codigo, mas é a parte de mostrar links e fazer o looping só, alguem tem ideia do por que ele não esta mostrando certo a paginação ?

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hmmmm to achando que o cara que fez o codigo (não fui eu) fez caquinha, naquela parte do request.querystring("submit"), não tem nada de submit no codigo e na url muito menos...

 

If currentpage = "" thenintCurrentPage = 1ElseintCurrentPage = Request.Querystring("CurrentPage")Select Case Request.Querystring("Submit") Case "Previous"  intCurrentPage = intCurrentPage -1 Case "Next"  intCurrentPage = intCurrentPage +1 End SelectEnd If

Pelo que entendi é nesta parte que ele continua a paginação e se for isso, ai que deve ta dando o erro...

Compartilhar este post


Link para o post
Compartilhar em outros sites

um exemplo de pag. q funciona... ai você tenta adaptar para o seu, ok...

Tam_pag = 30 'quant de registros por pagina'---verifica se está indo para alguma pagina diferente da 1a.If Request("p")="" Then Pag_atual = 1 Else Pag_atual = CInt(Request("p")) '---faz a consulta da tabela e define os parametros basicosSet TabCatalogo = Server.CreateObject("ADODB.Recordset")Set TabCatalogo.ActiveConnection = bdSiteTabCatalogo.PageSize = Tam_pagTabCatalogo.CursorLocation = adUseClientTabCatalogo.Source = "SELECT * FROM tabela"TabCatalogo.CursorType = adOpenStaticTabCatalogo.Open'---verifica quantas paginas gerou a consultaContador_pag = TabCatalogo.PageCount'---Define os limites para a paginação da lista de produtos	If Pag_atual< 1 Then Pag_atual = 1If pag_atual > Contador_pag  Then Pag_atual = Contador_pag	'---verifica se a consulta achou alguma coisaIf Contador_pag = 0 Then   erro = trueElse   TabCatalogo.AbsolutePage = Pag_atualend if'---na exibiçãoif erro = false then 'caso a consulta tenha achado algo   total = TabCatalogo.recordcount   '---Loop para exibir documentos encontrados somente da pag. atual   Do While TabCatalogo.AbsolutePage = pag_atual AND Not TabCatalogo.EOF   	       TabCatalogo.MoveNext   Loopend if

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.