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

Paginação...


marcelolima

Pergunta

é o seguinte...

aqui fizemos um código para colocar uma lista com todos os funcionários...

daí, acontece o seguinte...

tenho que paginar essa consulta... porque são mais de 100 registros.

o código que coloquei é o seguinte:

<%
  dia = day(date)
  mes = month(date)
  ano = year(date)
'''''''''''''''''''''''''''''''''''''''''''''''''''''''fazendo a paginação !!! :)
' número de registros por página.
	Const numeroRegistros = 10 

' mapeia o caminho 
	x = Server.MapPath("dados/intranet.mdb")

' cria o objeto Conexão	
	Set Conexao = Server.CreateObject("ADODB.Connection")

' concatena a string do driver com o caminho	
	liga = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& x 

' o cursor do objeto Connection deve residir no cliente. 
' Isto equivale a dizer que a propriedade CursorLocation 
' do objeto connection é igual a adUseClient, ou se não 
' quiser utilizar as constantes do arquivo adovbs.inc, 
' use o número 3 ao invés de adUseClient. Na verdade, a 
' constante adUseClient tem o valor 3 no arquivo adovbs.inc. 
' Logo, tanto faz usar adUseClient ou 3, pois adUseClient = 3	
	Conexao.CursorLocation = 3

'abre a conexão	
	Conexao.Open liga

' cria um recordset	
	Set tabela = Server.CreateObject("ADODB.RECORDSET")

' faz o recordset usar a conexão 
	Set tabela.ActiveConnection = Conexao    

' número de registros por página
	tabela.PageSize = numeroRegistros

' tamanho do cache	
	tabela.CacheSize = numeroRegistros 

' carrega a query na string
	strSQL = "Select * From usuarios order by 2;"

' executa a query	
	tabela.open strSQL

' testa se é a primeira vez
	If (request.ServerVariables("CONTENT_LENGTH") = "123" ) Then
	' se for aponta para a primeira página e guarda que a página atual é a primeira  
  tabela.AbsolutePage = 1
  paginaAtual = 1
  
	else	
	' caso não seja a primeira vez guarda página atual  
  paginaAtual = Cint(Request.Form("CurrentPage"))
  
	' de acordo com a escolha a página é incrementada ou decrementada
  Select Case Request.Form("enviarecordset")
  	Case "Anterior"
    paginaAtual = paginaAtual - 1
    tabela.AbsolutePage = paginaAtual 
  	Case "Próxima"
    paginaAtual = paginaAtual + 1
    tabela.AbsolutePage = paginaAtual 
  End Select
	End If	

' imprime os registros na tela
%>

alguém pode me dizer se basta q eu coloque um Próximo ou um Anterior funciona esse código que tá bem no começo do arquivo...

se não, o que eu tenho q fazer?

tnx!!!

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

a primeira coisa q eu quero saber.. quais os códigos q eu coloco para o link PRÓXIMA e ANTERIOR...

Obs.: nós usamos esses códigos para fazer chamada de página

<a href=index.asp?lcl=func class="linkclaro"><font color="#FFFFFF"><strong>FUNCIONÁRIOS (LISTA)</strong></font></a>
e na index q inclue a página
   <% elseif lcl = "func" then %>
      <!--#include file="funcionarios/func.asp"--> 

daí ele abre essa func.asp...

que tá listando todos os usuários nela... sem paginação.

Tem esse código de paginação q tá no começo da func.asp.

Link para o comentário
Compartilhar em outros sites

  • 0

a func.asp toda é essa aqui:

<%
  dia = day(date)
  mes = month(date)
  ano = year(date)
'''''''''''''''''''''''''''''''''''''''''''''''''''''''fazendo a paginação !!! :)
' número de registros por página.
	Const numeroRegistros = 10 

' mapeia o caminho 
	x = Server.MapPath("dados/intranet.mdb")

' cria o objeto Conexão	
	Set Conexao = Server.CreateObject("ADODB.Connection")

' concatena a string do driver com o caminho	
	liga = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& x 

' o cursor do objeto Connection deve residir no cliente. 
' Isto equivale a dizer que a propriedade CursorLocation 
' do objeto connection é igual a adUseClient, ou se não 
' quiser utilizar as constantes do arquivo adovbs.inc, 
' use o número 3 ao invés de adUseClient. Na verdade, a 
' constante adUseClient tem o valor 3 no arquivo adovbs.inc. 
' Logo, tanto faz usar adUseClient ou 3, pois adUseClient = 3	
	Conexao.CursorLocation = 3

'abre a conexão	
	Conexao.Open liga

' cria um recordset	
	Set tabela = Server.CreateObject("ADODB.RECORDSET")

' faz o recordset usar a conexão 
	Set tabela.ActiveConnection = Conexao    

' número de registros por página
	tabela.PageSize = numeroRegistros

' tamanho do cache	
	tabela.CacheSize = numeroRegistros 

' carrega a query na string
	strSQL = "Select * From usuarios order by 2;"

' executa a query	
	tabela.open strSQL

' testa se é a primeira vez
	If (request.ServerVariables("CONTENT_LENGTH") = "123" ) Then
	' se for aponta para a primeira página e guarda que a página atual é a primeira  
  tabela.AbsolutePage = 1
  paginaAtual = 1
  
	else	
	' caso não seja a primeira vez guarda página atual  
  paginaAtual = Cint(Request.Form("CurrentPage"))
  
	' de acordo com a escolha a página é incrementada ou decrementada
  Select Case Request.Form("enviarecordset")
  	Case "Anterior"
    paginaAtual = paginaAtual - 1
    tabela.AbsolutePage = paginaAtual 
  	Case "Próxima"
    paginaAtual = paginaAtual + 1
    tabela.AbsolutePage = paginaAtual 
  End Select
	End If	

' imprime os registros na tela
%>
<html>
<head>
<title>Intranet - Agência de Fomento de Goiás S/A</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="../estilos/intranet.css" rel="stylesheet" type="text/css">
</head>

<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<table width="610" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr> 
    <TD width=15><IMG height=8 src="../imagens/1px.gif" width=8></TD>
  </tr>
  <tr> 
    <td width="15" align="center" valign="middle"> <div align="center"><IMG height=8 src="../imagens/1px.gif" width=15></div></td>
    <td align="center" valign="top"><table width="595" border="0" cellspacing="0" cellpadding="0">
        <tr bgcolor="#3399CC"> 
          <td width="610" height="20" bgcolor="#3399CC"><div align="center" class="titulobranco"><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif"><strong>FUNCION&Aacute;RIOS</strong></font></div></td>
        </tr>
      </table>
      <table width="595" border="0" cellspacing="0" cellpadding="0">
        <tr> 
          <td height="5" colspan="5" align="center" class="textointrodutorio"><img src="../imagens/5px.gif" width="5" height="5"></td>
        </tr>
        <tr> 
          <td width="233" height="20" bgcolor="#C4E4FD" class="textointrodutorio">&nbsp;Nome</td>
          <td width="80" bgcolor="#C4E4FD" class="textointrodutorio">Coord</td>
          <td width="113" bgcolor="#C4E4FD" class="textointrodutorio">Ramal</td>
          <td width="84" bgcolor="#C4E4FD" class="textointrodutorio">Anivers&aacute;rio</td>
          <td width="85" bgcolor="#C4E4FD" class="textointrodutorio">&nbsp;</td>
        </tr>
      </table>
      <% while not tabela.EOF %>
      <table width="595" border="0" cellspacing="0" cellpadding="0">
        <tr bgcolor="#ECF8FF"> 
          <td width="234" height="20" class="texto">&nbsp;<img src="imagens/tópico.gif" width="8" height="8"> 
            <%=tabela("nome")%></td>
          <td width="80" class="texto"><%=tabela("divisao")%></td>
          <td width="112" class="texto"><%=tabela("ramal")%></td>
          <td width="84" class="texto"><%=tabela("dia")%> 
            <% if tabela("dia") <> "" then Response.Write("/") end if %>
            <%=tabela("mes")%></td>
          <td width="85" class="texto"><a href="index.asp?lcl=funcresult&nome2=<%=tabela.Fields("nome")%>" class="linkclaro"><font color="#FF0000">+ 
            INFO</font> </a></td>
        </tr>
        <tr> 
          <td height="5" colspan="5"><img src="../imagens/5px.gif" width="5" height="5"></td>
        </tr>
      </table></td>
  </tr>
  <tr> 
    <td align="center" valign="middle">&nbsp;</td>
    <td align="center" valign="top"> 
      <% 
     tabela.Movenext
     wend
     tabela.close
     %>
    </td>
  </tr>
</table>
</body>
</html>

Link para o comentário
Compartilhar em outros sites

  • 0

ph34r.gif

Dessa vez é de graça:

<!--#include file="conexoes.asp" --><%
Function IIF(a,b,c)
If a then:IIF=b:Else:IIF=c:End IF
End Function
	'Matriz com os títulos amigáveis dos campos
	osNomes=Array("Cód","Nome","CNPJ/CPF","Cidade","UF")
	'Matriz com os títulos dos campos no bd
	osCampos=Array("IdCliente","Nome","CNPJ_CPF","Cidade","UF")

	aPagina = CInt(Request("aPagina"))
	If aPagina=0 Then aPagina=1

	aOrdem = Request("aOrdem")
	If aOrdem="" Then aOrdem=osCampos(0)& " ASC"
	aOrdem=Replace(aOrdem,"+"," ")

	Set rsLista=Server.CreateObject("ADODB.RecordSet")
	With rsLista
	.CacheSize=10
	.PageSize=10
	.Open "SELECT * FROM clientes_cs ORDER BY "&aOrdem,Con, 3, 1,1
	If Not .Eof Then 
	If aPagina > .PageCount Then aPagina=.PageCount
	.AbsolutePage=aPagina
	End If
	End With
	aOrdem=Replace(aOrdem," ","+")%>
<table  border="0" cellspacing="0" cellpadding="4">
  <tr>
    <%For i=0 to uBound(osCampos)%>
    <th><a href="paginacao.asp?aPagina=<%=aPagina%>&aOrdem=<%=osCampos(i)&IIF(osCampos(i)&"+ASC"=aOrdem,"+DESC","+ASC")%>"><%=osNomes(i)%>
      <%If InStr(aOrdem,osCampos(i)&"+")=1 Then%>
      <font face="webdings" style="font-size:xx-small;"><%=IIF(osCampos(i)&"+ASC"=aOrdem,"5","6")%></font>
      <%End If%>
      </a></th>
    <%Next%>
  </tr>
  <%While (Not rsLista.Eof) AND (rsLista.AbsolutePage=aPagina)
      Cara=Not Cara%>
  <tr bgcolor="<%=IIf(Cara,"","#CCCCCC")%>" onMouseOver="this.bgColor='#3399DC'"  onMouseOut="this.bgColor='<%=IIf(Cara,"","#CCCCCC")%>'">
    <%For i=0 to uBound(osCampos)%>
    <td><a href="javascript:alert('AHeUaHEUAehAUEhAEUahe')"><%=rsLista(osCampos(i))%></a></td>
    <%Next%>
  </tr>
  <%rsLista.MoveNext
	Wend%>
</table>
<table  border="0"  cellpadding="2" cellspacing="0">
  <tr>
    <td><a  href="paginacao.asp?aPagina=1&aOrdem=<%=aOrdem%>">1</a>&nbsp;
      <%For i=2 to rsLista.PageCount%>
      <b>•</b>&nbsp;<a href="paginacao.asp?aPagina=<%=i%>&aOrdem=<%=aOrdem%>"><%=i%></a>
      <%Next%>
    </td>
  </tr>
</table>

té +

Link para o comentário
Compartilhar em outros sites

  • 0

esse arquivo de conexão q ele tá incluindo... pode ser esse mesmo q eu uso???

<%
sub AbreConexao
set conexao = server.createobject("ADODB.Connection")
conexao.Open="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("dados/intranet.mdb")
end sub
sub FechaConexao
conexao.close
set conexao = nothing
end sub
Call AbreConexao
%>

tnx!

Link para o comentário
Compartilhar em outros sites

  • 0

funcionou...

mas cara

eu tenho um problema.

Por exemplo...

se tiver 100, 200 páginas

fica muito grande lá embaixo...

você sabe como posso fazer para criar um Next da forma como acontece nos sites de busca, tipo Google??? Na medida em que se vai para uma página qualquer, ele mostra as duas ou três páginas anteriores àquela e as outras posteriores.

Link para o comentário
Compartilhar em outros sites

  • 0

tentei colocar o código em uma página de fotos...

dá o seguinte erro:

Tipo de erro:

Erro de tempo de execução do Microsoft VBScript (0x800A01A8)

Objeto necessário: ''

/fotos/fotos.asp, line 122

121  Response.Write "</table>"
122  Set rsFotos = Conn.Execute("SELECT * FROM fotos WHERE idevento="&idevento&"")
123  If rsFotos.EOF Then
124  Response.Write "Nenhuma foto encontrada!"

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,3k
    • Posts
      652,3k
×
×
  • Criar Novo...