Jump to content


Photo

Paginação


  • Faça o login para participar
3 replies to this topic

#1 Mauro_Avila

Mauro_Avila

    Novato no fórum

  • Usuários
  • 3 posts
  • Sexo:Não informado

Posted 08/05/2004, 19:20

O código abaixo é de uma paginação. Ele está perfeito, exceto que quando é a primeira vez que é acessada a página ele começa da página 0. Quando eu clico em "Próxima Página" ele vai para a página 1, que mostra as mesmas informações da página 0. Daí em diante fica tudo perfeito(Quando eu clico novamente em próxima página ele vai para a página 2 perfeitamente e assim por diante). O único problema é esse: A paginação tem que começar da página 1 e não da página 0 como está acontecendo.

Quem puder me ajudar....


            <table width="100%" border="0" cellspacing="8" cellpadding="0" align="center">
              <tr> 
                <td colspan="2" valign="top" height="384">
                  <div align="center"> 
                    <p><font size="2" face="Tahoma"><b>Barcos a Motor</b></font></p>
                    <p><%



'fazendo a paginação !!! :)
' número de registros por página.
	Const numeroRegistros = 2 
	
' cria o objeto Conexão	
	Set Conexao = Server.CreateObject("ADODB.Connection")
	
' concatena a string do driver com o caminho	
	liga = "DBQ=" & Server.MapPath("db/dbclientes.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};"
	
' 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 tab_barco_motor ORDER BY tamanho,marca,descricao,estado,empresa"

' executa a query
	tabela.open strSQL

if tabela.eof then%> 
<font size="2" face="Tahoma">Desculpe-nos o transtorno, mas 
                      estamos cadastrado os revendedores. Em breve a busca estar&aacute; 
                      funcionando.</font><%else
' 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  


  paginaAtual = 1

	else	
	' caso não seja a primeira vez guarda página atual  
  paginaAtual = Cint(Request.Form("CurrentPage"))

  Select Case Request.Form("enviarecordset")
 	 Case "Anterior"
    paginaAtual = paginaAtual - 1
    tabela.AbsolutePage = paginaAtual 
 	 Case "Próxima"
    paginaAtual = paginaAtual + 1
    tabela.AbsolutePage = paginaAtual 
  End Select

	' de acordo com a escolha a página é incrementada ou decrementada
	End If	
%> </p>
                    <table width="100%" border="0" cellspacing="1" cellpadding="1">
                      <tr bgcolor="#003399"> 
                        <td width="13%"> 
                          <div align="center"><b><font color="#FFFFFF" size="2" face="Tahoma">Tamanho</font></b></div>
                        </td>
                        <td width="15%"> 
                          <div align="center"><b><font color="#FFFFFF" size="2" face="Tahoma">Marca</font></b></div>
                        </td>
                        <td width="38%"> 
                          <div align="center"><b><font color="#FFFFFF" size="2" face="Tahoma">Descri&ccedil;&atilde;o</font></b></div>
                        </td>
                        <td width="23%"> 
                          <div align="center"><b><font color="#FFFFFF" size="2" face="Tahoma">Empresa</font></b></div>
                        </td>
                        <td width="11%"> 
                          <div align="center"><b><font color="#FFFFFF" size="2" face="Tahoma">Estado</font></b></div>
                        </td>
                      </tr>
<%' imprime os registros na tela
for i = 1 to numeroRegistros
%>
<tr bgcolor="#CCCCFF"> 
<td width="13%">

<div align="center"><%= tabela("tamanho")%></div>
</td>
<td width="15%"> 
<div align="center"><%= tabela("marca")%></div>
</td>
<td width="38%"> 
<div align="center"><%= tabela("descricao")%></div>
</td>
<td width="23%"> 
<div align="center"><%= tabela("empresa")%></div>
</td>
<td width="11%"> 
<div align="center"><%= tabela("estado")%></div>
</td>
</tr>
<%
tabela.MoveNext
if (tabela.eof) then
exit for
else 
end if
next
%> 
<%
' total de páginas
	totalPaginas = tabela.PageCount

' fecha o recordset 
tabela.close 
' fecha a conexão
Conexao.close

' destrói os objetos
Set tabela = nothing 
Set Conexao = nothing
%>
                    </table>
<br>
                    <font size="2" face="Tahoma">Página <%= paginaAtual %> de 
                    <%= totalPaginas %></font> 
                    <Form Action="<% Request.ServerVariables("SCRIPT_NAME")%>" method="POST">
<input type="hidden" name="CurrentPage" value="<%= paginaAtual %>">
<%
If (paginaAtual > 1) Then 
%>
<input type="submit" name="enviarecordset" value="Anterior">
<%
End If
If (paginaAtual <> totalPaginas) Then
%>
<input type="submit" name="enviarecordset" value="Próxima">
<%
End If
%>
</form>
                    <p>&nbsp;</p>
                  </div>

<%end if%>
                </td>
              </tr>
            </table>


#2 Jhonathas.net

Jhonathas.net

    12 Horas

  • Usuários
  • 181 posts
  • Sexo:Não informado

Posted 08/05/2004, 22:09

Ai tente usar isso ai: qualquer coisa post q ajudo,


<table width="100%" border="0" cellspacing="8" cellpadding="0" align="center">
<tr>
<td colspan="2" valign="top" height="384">
<div align="center">
<p><font size="2" face="Tahoma"><b>Barcos a Motor</b></font></p>
<p><%



'''''''''''''''''''''''''''''''''''''''''''''''''''''''fazendo a paginação !!! :)
' número de registros por página.
if paginaAtual = 0 or paginaAtual = "" then paginaAtual = 1
Const numeroRegistros = 2

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

' concatena a string do driver com o caminho
liga = "DBQ=" & Server.MapPath("db/dbclientes.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};"

' 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 tab_barco_motor ORDER BY tamanho,marca,descricao,estado,empresa"

' executa a query
tabela.open strSQL

if tabela.eof then%> <font size="2" face="Tahoma">Desculpe-nos o transtorno, mas
estamos cadastrado os revendedores. Em breve a busca estar&aacute;
funcionando.</font><%else
' 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


paginaAtual = 1

else
' caso não seja a primeira vez guarda página atual
paginaAtual = Cint(Request.Form("CurrentPage"))

Select Case Request.Form("enviarecordset")
Case "Anterior"
paginaAtual = paginaAtual - 1
tabela.AbsolutePage = paginaAtual
Case "Próxima"
paginaAtual = paginaAtual + 1
tabela.AbsolutePage = paginaAtual
End Select

' de acordo com a escolha a página é incrementada ou decrementada
End If
%> </p>
<table width="100%" border="0" cellspacing="1" cellpadding="1">
<tr bgcolor="#003399">
<td width="13%">
<div align="center"><b><font color="#FFFFFF" size="2" face="Tahoma">Tamanho</font></b></div>
</td>
<td width="15%">
<div align="center"><b><font color="#FFFFFF" size="2" face="Tahoma">Marca</font></b></div>
</td>
<td width="38%">
<div align="center"><b><font color="#FFFFFF" size="2" face="Tahoma">Descri&ccedil;&atilde;o</font></b></div>
</td>
<td width="23%">
<div align="center"><b><font color="#FFFFFF" size="2" face="Tahoma">Empresa</font></b></div>
</td>
<td width="11%">
<div align="center"><b><font color="#FFFFFF" size="2" face="Tahoma">Estado</font></b></div>
</td>
</tr>
<%' imprime os registros na tela
for i = 1 to numeroRegistros
%>
<tr bgcolor="#CCCCFF">
<td width="13%">

<div align="center"><%= tabela("tamanho")%></div>
</td>
<td width="15%">
<div align="center"><%= tabela("marca")%></div>
</td>
<td width="38%">
<div align="center"><%= tabela("descricao")%></div>
</td>
<td width="23%">
<div align="center"><%= tabela("empresa")%></div>
</td>
<td width="11%">
<div align="center"><%= tabela("estado")%></div>
</td>
</tr>
<%
tabela.MoveNext
if (tabela.eof) then
exit for
else
end if
next
%>
<%
' total de páginas
totalPaginas = tabela.PageCount

' fecha o recordset
tabela.close
' fecha a conexão
Conexao.close

' destrói os objetos
Set tabela = nothing
Set Conexao = nothing
%>
</table>
<br>
<font size="2" face="Tahoma">
<input type="hidden" name="CurrentPage" value="<%= paginaAtual %>">
Página <%= paginaAtual %> de
<%= totalPaginas %> <%
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
%></font>
<Form Action="<% Request.ServerVariables("SCRIPT_NAME")%>" method="POST">
<%
If (paginaAtual > 1) Then
%>
<input type="submit" name="enviarecordset" value="Anterior">
<%
End If
If (paginaAtual <> totalPaginas) Then
%>
<input type="submit" name="enviarecordset" value="Próxima">
<%
End If
%>
</form>
<p>&nbsp;</p>
</div>

<%end if%>
</td>
</tr>
</table>
Não ajunteis tesouros na terra, onde a traça e a ferrugem tudo consomem e aonde os ladrões minam e roubam;
Mas ajuntai tesouros no céu, onde nem a traça nem a ferrugem consomem, e aonde os ladrões não minam nem roubam.
MT 6 . 19

Jhonathas da Silveira de Matos (UIN: 57422166 / MSN: jhon_asp)

#3 victor

victor
  • Visitantes

Posted 08/05/2004, 22:55

Dê uma alhada nesse tutorial, e tente começar a fazer... E se der erro, ou tiver alguma dúvida, posta ae que nós estaremos ajudando!!! ;)

Abraços,
[]'s
Victor

#4 K I L L I N G

K I L L I N G

    Batera na veia, ASP no coração

  • Banidos
  • PipPipPipPip
  • 398 posts
  • Sexo:Não informado

Posted 09/05/2004, 14:57

Isso eh configuração errada ai...
nem olhei mas toda paginação PRATICAMENTE usaum o intPagina ou IntPg, vc tem q criar If's, if request.querystring("pg")<1 then intpg = 1
e assim vai VALEWS
http://www.fiquecomigo.com
http://www.fiquecomigo.com.br
Encontre o amor da sua vida aqui!

Vinícius Nunes Lage
vinibaterabol@msn.com




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq