Ir para conteúdo

POWERED BY:

Arquivado

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

Dias Sanches

Paginação por categoria

Recommended Posts

Possuo este código para puxar as imagens e fazer a paginação

 

<%
categoria = request.QueryString("categoria")
PagAtual = Request.QueryString("PagAtual")
Set Conn= server.createobject("adodb.connection")
DSNtest = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath("dados/dados.mdb")
Conn.Open DSNtest
Set RS= Server.CreateObject("ADODB.Recordset")
SQL = "SELECT * FROM allgames where categoria = '"&categoria&"' order by id desc"
RS.Open SQL, conn, 3
%>


<%


Const NumPorPage = 20
Dim PagAtual
IF Request.QueryString("PagAtual") = "" Then
PagAtual = 1 'Primeira página
Else
PagAtual = Request.QueryString("PagAtual")
End If
RS.CacheSize = NumPorPage
RS.MoveFirst 
RS.PageSize = NumPorPage 
Dim TotalPages   
TotalPages = RS.PageCount
RS.AbsolutePage = PagAtual
Count = 0 
i = 0 
DO WHILE NOT RS.EOF And Count < RS.PageSize  'paginacao And Count < RS.PageSize 
if i mod 2<>0 then
cor = "#F4F4F4"
else
cor = "#e1e1e1"
end if 
%>

 

 

<%
 Response.Write("<B><font color=""#006600"" size=""2"" face=""Arial""><strong> Página " & PagAtual & " de " & TotalPages & " </strong></font></B> - ")   
var01 = Len(PagAtual) 'Lê o tamanho do numero
var02 = var01 - 1
var03 = Left(PagAtual,var02)
var04 = Right(PagAtual,1)
var05 = var03 & 0
IF var04 <> 0 THEN 
inicial = var05 + 1
final = inicial + 9  
ELSE
inicial = var05 - 9  
final = var05
END IF
indice_i = var04 - 1 
indice_f = 10 - var04 
If CInt(final) > CInt(TotalPages) Then final = TotalPages
IF PagAtual > 1 THEN 
Response.Write("<B><font color=""#660066"" size=""1"" face=""Arial"">") 
Response.Write("<a href='categoria.asp?PagAtual=" &  1 & "'>")
Response.Write("<img src='imagens/detalhes/primeira.gif'border='0' alt='Primeira página'>") 
Response.Write("</a></font></B>  ")
Response.Write("<B><font color=""#660066"" size=""2"" face=""Arial"">") 
Response.Write("<a href='categoria.asp?PagAtual=" & PagAtual - 1 & "'>")
Response.Write ("<img src='imagens/detalhes/anterior.gif' border='0' alt='Página anterior'>") 
Response.Write("</a></font></B>  ")
IF PagAtual > 10 THEN
Response.Write("<B><font color=""#660066"" size=""2"" face=""Arial"">") 
Response.Write("<a href='categoria.asp?PagAtual=" & inicial - 1 & "'>")
Response.Write("...") 
Response.Write("</a></font></B>  ")
ELSE
Response.Write("<B><font color=""#CCCCCC"" size=""2"" face=""Arial"">") 
Response.Write("....") 
Response.Write("</font></B>  ")
END IF
Else
Response.Write("<B><font color=""#EEEEEE"" size=""1"" face=""Arial"">") 
Response.Write("<img src='imagens/detalhes/primeira.gif' border='0' alt='Primeira página'>") 
Response.Write("</font></B>  ")
Response.Write("<B><font color=""#CCCCCC"" size=""2"" face=""Arial"">") 
Response.Write("<img src='imagens/detalhes/anterior.gif' border='0' alt='Página anterior'>") 
Response.Write("</font></B>  ")
Response.Write("<B><font color=""#CCCCCC"" size=""2"" face=""Arial"">") 
Response.Write("...") 
Response.Write("</font></B>  ")
End If
For i = inicial To final
If CInt(i)=CInt(PagAtual) Then
Response.Write "<font color=""#660066"" size=""1"" face=""Arial"">[ <B>" & i & "</B> <font color=""#660066"">]</font>  "
END IF
If CInt(i) < CInt(PagAtual) Then
Response.Write "<font color=""#660066"" size=""1"" face=""Arial""><a href='categoria.asp?PagAtual=" & i & "'>" & i & "</a></font> "
END IF
If CInt(i) > CInt(PagAtual) Then
Response.Write "<font color=""#660066"" size=""1"" face=""Arial""><a href='categoria.asp?PagAtual=" & i & "'>" & i & "</a></font> "
END IF
Next
IF CInt(PagAtual) <> CInt(TotalPages) THEN 
p1 = Left(PagAtual,var02) 
p2 = Left(TotalPages,var02)
p3 = Left(TotalPages,var02) & 0
IF (p1 > PagAtual) or ((PagAtual <= 10) and (TotalPages > 10)) THEN 
Response.Write("<B><font color=""#660066"" size=""2"" face=""Arial"">")
Response.Write("<a href='categoria.asp?PagAtual=" & final + 1 & "'>")
Response.Write("...")
Response.Write("</a></font></B>  ") 
ELSE
Response.Write("<B><font color=""#CCCCCC"" size=""2"" face=""Arial"">")
Response.Write("...") 
Response.Write("</font></B>  ")
END IF
Response.Write("<B><font color=""#660066"" size=""2"" face=""Arial"">")
Response.Write("<a href='categoria.asp?PagAtual=" & PagAtual + 1 & "'>")
Response.Write("<img src='imagens/detalhes/proxima.gif' border='0' alt='Próxima página'>")
Response.Write("</a></font></B>  ") 
Response.Write("<B><font color=""#660066"" size=""1"" face=""Arial"">")
Response.Write("<a href='categoria.asp?PagAtual=" & TotalPages & "'>")
Response.Write("<img src='imagens/detalhes/ultima.gif' border='0' alt='Ultima página'>")
Response.Write("</a></font></B>  ")        
ELSE
Response.Write("<B><font color=""#CCCCCC"" size=""2"" face=""Arial"">")
Response.Write("...") 
Response.Write("</font></B>  ")
Response.Write("<B><font color=""#CCCCCC"" size=""2"" face=""Arial"">")
Response.Write("<img src='imagens/detalhes/proxima.gif' border='0' alt='Próxima página'>") 
Response.Write("</font></B>  ")
Response.Write("<B><font color=""#EEEEEE"" size=""1"" face=""Arial"">")
Response.Write("<img src='imagens/detalhes/ultima.gif' border='0' alt='Ultima página'>") 
Response.Write("</font></B>  ")
End If 
Rs.Close  
Set RS = Nothing
Conn.Close      
Set Conn = Nothing   %>

Ele funciona perfeitamente quando chama a primeira pagina

 

 

http://www.site.com.br/categoria.asp?categoria=acao

Mas próximas paginas não aparecem, o link para as outras paginas esta o seguinte caminho

 

http://www.sempregames.com.br/categoria.asp?categoria=acao?PagAtual=2

Aparece o seguinte erro:

 

ADODB.Field erro '80020009'

BOF ou EOF são verdadeiros, ou o registro atual foi excluído. A operação solicitada pelo aplicativo requer um registro atual.

/categoria.asp, line 0

 

 

 

Se modifico

SQL = "SELECT * para

SQL = "SELECT * FROM allgames ORDER BY ID desc"

Ele funciona normalmente as paginas basta chamar


http://www.site.com.br/categoria.asp?PagAtual=2

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

dá um response.write na sua string SQL para ver o que esta sendo passado, tenha certeza de que existe os dados para o critério

Compartilhar este post


Link para o post
Compartilhar em outros sites

Descobri o caminho que devo fazer para chamar as próximas paginas

 

http://www.site.com.br/categoria.asp?categoria=acao&PagAtual=3

 

Porém, agora estou com outro problema preciso chamar o caminho da categoria na programação pagina

 

estou fazendo o seguinte


 

Response.Write("<a href='categoria.asp?categoria=<%=Rs("categoria")%>&PagAtual=" &  1 & "'>")

 

Aparece o seguinte erro:

 

Erro de compilação do Microsoft VBScript erro '800a03ee'

')' esperado

/categoria.asp, line 166

Response.Write("<a href='categoria.asp?categoria=<%=Rs("categoria")--------------------------------------------------------^

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estes são tipicamente erros tipográficos muito simples. tipo:

 

 

<%
x = y + (305 - Clng("5")
%>


e faça assim para corrigir:

<%
x = y + (305 - Clng("5"))
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Resolvi! Obrigado pela ajuda!

 

O que fiz:

 

Adicionei

 

categoria = Request.QueryString("categoria")

e no caminho coloquei

 

 

Response.Write("<a href='categoria.asp?categoria="&categoria&"&PagAtual=" & PagAtual - 1 & "'>")

Compartilhar este post


Link para o post
Compartilhar em outros sites

a chave de tudo na verdade é sua SQL, o resto foi apenas uma concatenação de sua url. POste o code final, para futuras dúvidas. Até mais.

Compartilhar este post


Link para o post
Compartilhar em outros sites

+ resolvido.

 

Eu me cadastrei em 09 Maio 2009 e esse ano eu eu estou gostando de ver.

 

Quase todas as duvidas esta sendo resolvido.

 

Se puderem curti a minha pagina no facebook

 

https://www.facebook.com/webprogramation

 

Att;

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.