Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
tenho um código asp de paginacao com MySQL
ASP
<%Conexao()
'pega a pagina atual
pagina = request.ServerVariables("SCRIPT_NAME")
'numero de registros por pagina...
pageSize = 10
if(len(Request.QueryString("p")) = 0 )then
paginaAtual = 1
else
paginaAtual = CInt(Request.QueryString("p"))
end if
' conta o numero de registros...
sql = "SELECT COUNT(*) AS total FROM tabela"
set rs = Conexao.execute(sql)
'total de registros
recordCount = Cint(rs("total"))
'calculamos o numero de paginas...
pageCount = Clng(recordCount / pageSize)
rs.Close()
Flag1 = INT(paginaAtual / pagesize)
PI = INT(Flag1 * pagesize)
IF PI = 0 THEN
PI = 1
END IF
PF = PI + pagesize - 1
' selecionamos os registros...
sql = "SELECT FROM tabela ORDER by ID DESC LIMIT " & (paginaAtual - 1) pageSize & " , " & pageSize
set rs = Conexao.execute(sql)
do while not rs.eof %>
<% If not rs.eof Then %>
<%=Replace(rs("campo"),chr(13),"<br>")%><br>
<span class="timeart"><i><%=rs("campo")%></i></span>
</span>
<% Else %>
<div align="center">Nenhum registro até o momento!</div>
<% End If %>
<br><br>
<%
rs.movenext
loop %>
</div>
</span></p>
<div id="div3"> <p align="center"><% Response.Write ("<B><strong> Página " & paginaAtual & " de " & pagecount & " </strong></B><br>")
' cria os links de paginas...
IF CInt(paginaAtual) > 1 THEN
Response.Write "<a href='"&pagina&"?p=1'>Primeira</a> "
END IF
if CInt(paginaAtual) > 1 then
Response.Write "<a href='"&pagina&"?p=" & paginaAtual - 1 &"'>Anterior</a> "
END IF
PagAtual = Request("p")
max_n_mostrados = 5
intervalo = Int(max_n_mostrados /2)
inicio = PagAtual - intervalo
final = PagAtual + intervalo
If CInt(inicio) <1 Then
inicio = 1
final = 10
END IF
If CInt(final) > CInt(pagecount) Then final = pagecount
For i = inicio To final
If CInt(i)=CInt(PagAtual) Then
Response.Write "<B> [" & i & "] </B> "
END IF
If CInt(i) < CInt(PagAtual) Then
Response.Write "<a href='?p=" & i & "'>" & i & "</a> "
END IF
If CInt(i) > CInt(PagAtual) Then
Response.Write "<a href='?p=" & i & "'>" & i & "</a> "
END IF
Next
IF (CInt(paginaAtual) < pagecount) THEN
IF CInt(PF) <> pagecount THEN
Response.Write "<a href='"&pagina&"?p=" & paginaAtual+1 & "'>Próxima</a> "
END IF
END IF
IF (CInt(paginaAtual) <> pagecount) THEN
IF CInt(PF) <> pagecount THEN
Response.Write "<a href='"&pagina&"?p=" & pagecount & "'>Última</a> "
END IF
END IF %>
Peguei esse script na net! não tem problema nele, exceto que ele não me mostra a quantidade de páginas corretamente!!!
por exemplo...nesse script botei para mostrar 10 registros por página
eu estava com 13 registros e o script mostrava apenas uma página!
ele pagina os registros certinho na ordem que eu quero...mas os registros que vão para outras páginas ficam "ocultos" por a quantidade de páginas informadas estar errada.
Agradeço quem puder me ajudar nessa!
Carregando comentários...