Jump to content


Mauro_Avila

Member Since 22/04/2004
Offline Last Active 09/05/2004, 03:08
-----

Topics I've Started

Paginação

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>

Paginação - Esse é Só Pra Quem é Bom Mesmo!

23/04/2004, 08:55

Estou com um problema na paginação...

O código abaixo apresenta os seguintes problemas:

- A paginação começa da página 0
- Imprime na tela todos os registros e quando clica no botao próximo diminui os 3 primeiros registros. Quando clica novamete diminui mais tres... e assim sucessivamente.

O certo seria imprimir de três em três e começar da página 1.


<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<table width="770" border="0" cellspacing="0" cellpadding="0" align="center">
 <tr bgcolor="#FFFFFF"> 
   <td valign="top" height="605"> 
     <table width="100%" border="0" cellspacing="0" cellpadding="4">
       <tr> 
         <td width="66" valign="top" height="61"><a href="index.html"><img src="boatsea.jpg" width="136" height="119" border="0"></a><br>
         </td>
         <td width="704" height="61" valign="bottom"> 
           <div align="right"><a href="index.html"><img src="boatsea.com.br.jpg" width="250" height="18" align="bottom" border="0"></a></div>
         </td>
       </tr>
     </table>
     <table width="100%" cellpadding="0" cellspacing="0" border="0">
       <tr> 
         <td valign="top"> 
           <table width="100%" border="0" cellspacing="0" cellpadding="0">
             <tr bgcolor="#003399"> 
               <td width="3%"><img src="cantoe.jpg" width="30" height="20"></td>
               <td width="95%"><img src="barrinhaf.jpg" width="710" height="20"></td>
               <td width="2%"> 
                 <div align="right"><img src="cantod.jpg" width="30" height="20"></div>
               </td>
             </tr>
           </table>
          </td>
       </tr>
     </table>
     <table width="100%" border="0" cellspacing="0" cellpadding="0">
       <tr> 
         <td width="2%" height="116" valign="top"> 
           <table width="100%" cellpadding="0" cellspacing="0" border="0">
             <tr> 
               <td><img src="top.jpg" width="140" height="20"></td>
             </tr>
           </table>
           <p>&nbsp;</p>
         </td>
         <td width="81%" height="116" bgcolor="#FFFFFF" valign="top"> 
           <table width="100%" border="0" cellspacing="8" cellpadding="0" align="center">
             <tr> 
               <td colspan="2" valign="top" height="384">
                 <div align="center">

<%



'''''''''''''''''''''''''''''''''''''''''''''''''''''''fazendo a paginação !!! :)
' número de registros por página.
Const numeroRegistros = 3 

' 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

' 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"))

 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><font size="2" face="Tahoma"><b>Barcos a Motor</b></font></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
while not tabela.EOF
%>
                     <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%>

<%wend%>
<%
' 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>
Página <%= paginaAtual %> de <%= totalPaginas %>
<%
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
%>
<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>
               </td>
             </tr>
           </table>
         </td>
         <td width="17%" height="116" bgcolor="#FFFFFF" valign="top"> 

         </td>
       </tr>
     </table>
   </td>
 </tr>
</table>
</body>
</html>



Obrigado!

Esse é Legal: Case E Response.redirect

22/04/2004, 14:21

Estou com o seguinte problema:

Tenho 3 Categorias que é escolhido por um select, que é enviado para uma página que está abaixo:

dim pag
pag = request.form("select")
Select Case cat
case "Barco a Motor" 
pag = barco_motor.asp
case "Barco a Vela" 
pag = barco_vela.asp
case "Bote & Barco a Remo" 
pag = bote_bremo.asp
End Select

Até aí tudo bem, agora eu preciso que a variável "pag" entre no:

Response.Redirect ________

Como devo proceder?

Obrigado!

IPB Skin By Virteq