Jump to content


LEANDRO PAIVA

Member Since 22/05/2007
Offline Last Active 23/08/2010, 18:54
-----

Posts I've Made

In Topic: Paginação Asp + Mysql Estilo Google/digg Funcionando

16/08/2010, 20:32

Para quem usa outro banco de dados. (apenas algumas modificacoes no proprio scritp acima que eh muito bom, muito bom):

<%

'seta primeira  do recordset
''' Recupera a página atual 
pagina = Request.QueryString("pagina") 

''' Define a página atual 
If pagina =  "" Or pagina <= 0 Then 
  pagina = 1 
End If 


'Onde antes de exibir resultados seta as variaveis:
PAGESIZE_RESULTADOS = 10
RS_RECUPERA_IMOVEIS.PageSize = PAGESIZE_RESULTADOS
total = RS_RECUPERA_IMOVEIS.RecordCount
total_s = RS_RECUPERA_IMOVEIS.PageCount


'exibe resultado usando:
RS_RECUPERA_IMOVEIS.AbsolutePage = Cint(pagina)	
CONTADOR = 0
While NOT RS_RECUPERA_IMOVEIS.EOF AND CONTADOR < PAGESIZE_RESULTADOS
...
...
..

RS_RECUPERA_IMOVEIS.MoveNext
contador=contador+1	
Wend     


''' Total de registros por  
fimRegistros = PAGESIZE_RESULTADOS 
 
''' Total de links exibidos na tela 
intMaxLinksNavegacao = 10 
 
''' Pega o total de registros do banco 
iTotalReg = total 
iTotals = total_s

sLink = "procura.asp?typed="...

If Cint(pagina) > iTotals Then 
   pagina = iTotals  
End If 
 
 
Response.Write "<table>" & vbcrLf 
Response.Write "        <tr>" & vbcrLf 
Response.Write "                <td>" & vbcrLf 
Response.Write "                        <B><strong> P&aacute;gina " & pagina & " de " & iTotals & " </strong></B>" & vbcrLf 
Response.Write "                </td>" & vbcrLf 
Response.Write "        </tr>" & vbcrLf 
 
Response.Write "        <tr>" & vbcrLf 
Response.Write "         <td>" & vbcrLf 
Response.Write "          <div id='pages'>" & vbcrLf 
Response.Write "           <ul>" & vbcrLf 
 
If pagina > 1 Then 
        Response.Write " <li><a href='"& sLink &"&pagina=" & 1 & "'>Primeira</a></li>" 
        Response.Write " <li><a href='"& sLink &"&pagina=" & pagina - 1 & "'>Anterior</a><li>" 
End If 
 
''' Configura o intInicios e o fim dos registros para consulta ao banco 
intervalo = Int(intMaxLinksNavegacao / 2) 
intInicios = pagina - intervalo 
intFinals = pagina + intervalo 
 
''' Se o intInicios for menor que 1 passa seu valor para 1 
If CInt(intInicios) < 1 Then 
        intInicios = 1 
        intFinals = intMaxLinksNavegacao 
End If 
 
''' Garante que a &uacute;ltima p&aacute;gina nao vai ser maior que o total  
''' de p&aacute;ginas calculado para a consulta 
If CInt(intFinals) > CInt(iTotals) Then intFinals = iTotals 
If intFinals > intMaxLinksNavegacao Then intFinals = intFinals - 1 
 
 
''' Come&ccedil;a a escrever os links na tela 
For i = intInicios To intFinals 
        If CInt(i)=CInt(pagina) Then 
                Response.Write " <li class='current'>" & i & "</li> " 
        End If 
        If CInt(i) < CInt(pagina) Then 
                Response.Write " <li><a href='"& sLink &"&pagina=" & i & "'>" & i & "</a></li> " 
        End If 
        If CInt(i) > CInt(pagina) Then 
                Response.Write " <li><a href='"& sLink &"&pagina=" & i & "'>" & i & "</a></li> " 
        End If 
Next 
 
''' Bot&otilde;es Pr&oacute;xima e &Uacute;ltima p&aacute;gina. S&oacute; ser&atilde;o exibidos 
''' se a p&aacute;gina atual nao for a &uacute;ltima p&aacute;gina 
If CInt(pagina) < CInt(iTotals) Then 
        Response.Write " <li><a href='"& sLink &"&pagina=" & pagina + 1 & "'>Pr&oacute;xima</a></li>" 
        Response.Write " <li><a href='"& sLink &"&pagina=" & iTotals & "'>&Uacute;ltima</a></li>" 
End If  
Response.Write "                                </div>" & vbcrLf 
Response.Write "                        </ul>" & vbcrLf 
Response.Write "                </td>" & vbcrLf 
Response.Write "        </tr>" & vbcrLf 
Response.Write "</table>" & vbcrLf 

 
%>

IPB Skin By Virteq