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