Ir para conteúdo
Fórum Script Brasil
  • 0

Ao Brother Da Paginação


ursolouco

Pergunta

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

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

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>&nbsp;"      
      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

%>

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...