ursolouco Postado Setembro 3, 2005 Denunciar Share Postado Setembro 3, 2005 Salve Senhores!!Desculpe-me incomodar e minha ausencia justifico à falta de tempo.Estou enferrujado em ASP e estou trabalhando agora com PHP, portanto, não reparem se apresentar erros... Teve um brother que me mandou um e-mail sobre um código de paginação que só vi agora e já tem duas semanas na minha caixa postal.Então... ai vai..<!--#include file="adovbs.inc" --><style type="text/css"> td{ font-family: verdana; font-size: 11px; color: #000000; } a{text-decoration: none;} a:link{color: #000099;} a:visited{color: #000099;} a:hover{text-decoration: underline;}</style><% '******************************************************** ' * ' Arquivo: Paginacao.asp * ' Autor: Wellington rodrigues * ' MSN: ursolouco@MSN.com * ' * ' Utilização liberada. Alterações sobre consulta * ' * '******************************************************** pagina = Request.QueryString("pagina") If(Not isNumeric(pagina)) Then Pagina = 1 If(isNull(pagina)) Then Pagina = 1 If(isEmpty(pagina)) Then Pagina = 1 pagina = cint(pagina) strConn = "DRIVER=MySQL ODBC 3.51 Driver;UID=root;STMT=;OPTION=;SOCKET=;PORT=;PASSWORD=;SERVER=localhost;DATABASE=northwind;DESC=" 'strConn = "Provider = Microsoft.jet.oledb.4.0;Data Source=" & Server.MapPath("Northwind.mdb") & ";" Set conn = CreateObject("adodb.connection") conn.Open(strconn) Set Rs = Server.CreateObject("adodb.recordset") SQL = "SELECT * FROM products" 'SQL = "SELECT * FROM produtos" rs.ActiveConnection = conn rs.CursorType = adOpenStatic rs.CursorLocation = AdUseClient rs.PageSize = 5 'Altere aqui o numero da quantidade de registros a ser exibido rs.Open sql NumeroPaginas = rs.PageCount If(Pagina > 0) Then if(pagina > NumeroPaginas) then pagina = NumeroPaginas Else pagina = cint(pagina) end if Else pagina = 1 End if Rs.AbsolutePage = Cint(pagina) while not rs.EOF and contalinha < rs.PageSize response.Write rs(1) & "<br>" contalinha = contalinha + 1 rs.MoveNext wend Response.Write "<table border='1' cellpadding='5' width='500' align='center'>" response.Write "<tr>" For I = 1 To NumeroPaginas response.Write "<td align='center'" If(cint(pagina) = I) Then Response.Write " bgcolor='#F3F3F3'" End If response.Write ">" response.Write "<a href="""& Request.ServerVariables("SCRIPT_NAME") & "?pagina="&I&"" &""">"& I &"</a>" response.Write "</td>" Next response.Write "</tr>" Response.Write "</table>" rs.Close set rs = nothing conn.Close() set conn = nothing %>Espero que seja funcional e util...Abraço[]s Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 baladaclick Postado Setembro 9, 2005 Denunciar Share Postado Setembro 9, 2005 valeu Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ursolouco Postado Setembro 9, 2005 Autor Denunciar Share Postado Setembro 9, 2005 valeu Utilizando GetRows()<% pagina = Request.QueryString("pagina") If(Not isNumeric(pagina)) Then Pagina = 1 If(isNull(pagina)) Then Pagina = 1 If(isEmpty(pagina)) Then Pagina = 1 Call gPaginacao("SELECT * FROM tb_produtos", 20, 3, Pagina) Sub gPaginacao(SQL, numReg, numCol, Pagina) If(Not isNumeric(pagina)) Then Pagina = 1 If(isNull(pagina)) Then Pagina = 1 If(isEmpty(pagina)) Then Pagina = 1 pagina = cint(pagina) 'strConn = "DRIVER=MySQL ODBC 3.51 Driver;UID=root;STMT=;OPTION=;SOCKET=;PORT=;PASSWORD=;SERVER=localhost;DATABASE=northwind;DESC=" strConn = "DSN=localhost" Set conn = CreateObject("adodb.connection") conn.Open(strconn) Set Rs = Server.CreateObject("adodb.recordset") rs.ActiveConnection = conn rs.CursorType = adOpenStatic rs.CursorLocation = AdUseClient rs.PageSize = numReg rs.Open SQL NumeroPaginas = rs.PageCount If(Pagina > 0) Then if(pagina > NumeroPaginas) then pagina = NumeroPaginas Else pagina = cint(pagina) end if Else pagina = 1 End if Rs.AbsolutePage = Cint(pagina) Vetor = rs.getrows() Response.Write "<table border='1' cellpadding='5' width='500' align='center'>" while(Z <= Ubound(Vetor, 2) And Z <= numReg) response.write "<tr>" For C= 1 To numCol if(Z <= ubound(Vetor, 2)) Then response.write "<td>" response.write vetor(12, (Z)) response.write "</td>" Z = Z + 1 else response.write "<td> " response.write "</td>" exit for End if Next response.write "</tr>" wend Response.Write("</table>") Response.Write "<table border='1' cellpadding='5' width='500' align='center'>" response.Write "<tr>" if(Pagina > 1)Then Call GerarLinkAnterior(Pagina) End if leftStart = Pagina - 5 rightEnd = Pagina + 5 For I = 1 To NumeroPaginas response.Write "<td align='center'" If(cint(pagina) = I) Then Response.Write " bgcolor='#F3F3F3'" End If response.Write ">" response.Write "<a href="""& Request.ServerVariables("SCRIPT_NAME") & "?pagina="&I&"" &""">"& I &"</a>" response.Write "</td>" Next Call GerarProximoLink(Pagina) response.Write "</tr>" Response.Write "</table>" rs.Close set rs = nothing conn.Close() set conn = nothing End Sub Sub GerarProximoLink(Pagina) With Response .write "<td>" .write "<a href='"& Request.ServerVariables("SCRIPT_NAME")&"?pagina="&(Pagina + 1)&"'>" .write " >> " .write "</a>" .write "</td>" End With End Sub Sub GerarLinkAnterior(Pagina) With Response .write "<td>" .write "<a href='"& Request.ServerVariables("SCRIPT_NAME") &"?pagina="&(Pagina - 1)&"'>" .write " << " .write "</a>" .write "</td>" End With End Sub %> Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
ursolouco
Salve Senhores!!
Desculpe-me incomodar e minha ausencia justifico à falta de tempo.
Estou enferrujado em ASP e estou trabalhando agora com PHP, portanto, não reparem se apresentar erros...
Teve um brother que me mandou um e-mail sobre um código de paginação que só vi agora e já tem duas semanas na minha caixa postal.
Então... ai vai..
Espero que seja funcional e util...
Abraço[]s
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
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.