[Resolvido] Paginação com url amigável
Olá pessoal estou precisando de um help de vocês, ok?
Tenho este código que é uma página que exibo com os tópicos de um fórum paginado:
<%
'exibe um loop com todos os posts
set rs = Conn.Execute("minha consulta ao banco")
'paginação
registros = 30 'registros por página
pagina = Request.QueryString("pagina")
If pagina = "" Then
pagina = 1
redireciona_ultima="ok"
End If
rs.PageSize = registros
'cria o numero de colocação
u=cint(pagina)
n=0
i=0
do while i<u
i=i+1
n=n+registros
loop
If rs.EOF Then
Response.Write "# Nenhum registro encontrado para sua busca"
Else
rs.AbsolutePage = pagina
While Not rs.EOF AND x < rs.PageSize
x = x + 1
n=n+1
%>
meus registros
<%rs.movenext
wend%>
</div><!--content forum post-->
<%anterior = pagina - 1
proxima = pagina + 1
ultima = rs.PageCount
primeira = 1
ultm2 = FormatNumber(rs.PageCount - 1,0)
%>
<div id="content_paginacao">
<%If pagina <> 1 Then
Response.Write "<a href=forum_post.asp?topico_id="&topico_id&"&pagina="&primeira&">« Primeira</a> "
End If
If pagina > 1 AND pagina <> 2 Then
Response.Write "<a href=forum_post.asp?topico_id="&topico_id&"&pagina="&anterior - 1&">"&anterior - 1&"</a> "
End If
If pagina > 1 Then
Response.Write "<a href=forum_post.asp?topico_id="&topico_id&"&pagina="&anterior&">"&anterior&"</a>"
End If
Response.Write "<span class='active'>"&pagina&"</span>"
If Not rs.EOF Then
Response.Write "<a href=forum_post.asp?topico_id="&topico_id&"&pagina="&proxima&">"&proxima&"</a> "
End If
If Not rs.EOF AND pagina <> ultima AND pagina <> ultm2 Then
Response.Write "<a href=forum_post.asp?topico_id="&topico_id&"&pagina="&proxima + 1&">"&proxima + 1&"</a>"
End If
If Not rs.EOF Then
Response.Write "<a href=forum_post.asp?topico_id="&topico_id&"&pagina="&ultima&">Última »</a>"
End If
>>>>>>>>> redireciona para última página
if (redireciona_ultima="ok" and rs.recordcount>registros) then
response.Redirect "http://www.gabarite.com.br/forum_post.asp?topico_id="&topico_id&"&pagina="&ultima&""
end if
%>
</div><!--content paginacao-->
os links para entendimento:
http://www.site.com.br/forum/684-pagina-qualquer << primeira página, pois [pagina=""]
http://www.site.com.br/forum/forum_post.asp?topico_id=467&pagina=2
http://www.site.com.br/forum/forum_post.asp?topico_id=467&pagina=3
http://www.site.com.br/forum/forum_post.asp?topico_id=467&pagina=4
A lógica é o seguinte quando clico no link de primeira pagina que esta lista na pagina anterior ele é enviado para a pagina do código que postei e faz assim:
cliquei neste link http://www.site.com.br/forum/684-pagina-qualquer
Se for a primeira, com [pagina=""] então verifica se existe outras paginas internas se sim redireciona para ultima.
http://www.site.com.br/forum/forum_post.asp?topico_id=467&pagina=4 ultima pagina
Meio complicado de explicar isso: Tipo este fórum www.discussao.net quando clicamos em um link do tópico a pagina lista os posts e exibe diretamente os ultimos. Como faço isso sem redirecionar!?
Discussão (2)
Carregando comentários...