Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

razs

paginacao de registo simples

Recommended Posts

Aqui vai uma maneira simples de paginar um numero de registos por pagina.

 

Espero que seja util.

abraço

 


<%
if npagnex="" then npagnex="0" end if
if npagnexmax="" then npagnexmax="15" end if

if IsNumeric(npagnex)=FALSE  or isNumeric(npagnexmax)=FALSE then
response.redirect "site.asp"
end if	

npagnex=Cint(npagnex) 
npagnexmax=Cint(npagnexmax) 				
limcondit="LIMIT "&npagnex&","&npagnexmax


set checksite=conn.execute("select * from tabela "&limcondit&"")
set checksitetotal=conn.execute("select COUNT(id) AS total_reg from tabela")

total=0			
do while not checksite.eof
%>		

<!------mostra os registo do selec--->

<%
checksite.movenext
total=total+1
loop
%>

<div id="fundo_table">
<%total_record=checksitetotal("total_reg")

if Cint(npagnex) > 14 then%><a href="site.asp?varsubmenu=0Cj2P11?wzQ5&npagnex=<%=npagnex-15%>&npagnexmax=<%=npagnexmax-15%>"><< Previus 15</a><%end if

if Cint(total_record) > Cint(npagnexmax) then%><a href="site.asp?varsubmenu=0Cj2P11?wzQ5&npagnex=<%=npagnexmax%>&npagnexmax=<%=npagnexmax+15%>">Next 15 >></a><%end if%>

<a style="float:left;">Number of Sites Listed: <%response.write total%></a>
<br><a style="float:left;">Total number of record: <%response.write total_record%></a>

</div>

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu uso uma bem simples e funcional

 

<%
' Definindo o caminho do banco de dados
caminho = "bds/cadastro.mdb"

' Fazendo a conexão com o banco de dados (paginacao.mdb)
set objconn = Server.CreateObject("ADODB.Connection")
DSN = "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath(caminho)
objconn.Open DSN

' String SQL para consulta
SQL = "select * from cadastro order by cliente"

' Abrindo o registro
SET objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open SQL,objconn,3

' Se não encontrar nada escreve a mensagem
' Senão lista os registros
If objRS.EOF Then
Response.Write("Nenhum registro foi encontrado")
Else
' Definindo o número de registros por página
objRS.PageSize = 10

' Recupera o valor da variável pagina
pagina = Request.QueryString("pagina")

' Se a variável pagina for vazio, indica que a página sera a primeira
' Senão a variável pagina recebe o valor da página corrente, definida acima
If pagina = "" Then
objRS.AbsolutePage = 1
pagina = 1
Else
objRS.AbsolutePage = pagina
End If
%>
<%
' Imprime o número de registros, o total de páginas e a página atual
Response.Write("<table><tr><td><FONT FACE=Verdana SIZE=1 COLOR=#000000><B>Foram encontrados" & objRS.RecordCount & " registros" & vbcrlf )
Response.Write("<br>Mostrando página <b>" & pagina & "</b> de <b>" & objRS.PageCount & "" & vbcrlf )
Response.Write("<br><FONT FACE=Verdana SIZE=1 COLOR=#000000><B>Busca Avançada <a href='#' onClick=javascript:window.open('../busca_avc.asp','','width=200,height=50,scrollbars=no, resizable=no,left=00,top=0');>aqui</a></B></FONT></td></tr></table>")
%>

<%
' Criando a barra de navegação
' Se a variável pagina for maior que 1 então imprime o botão Anterior com link
' Senão imprime sem link
If CInt(pagina) > 1 Then
Response.Write("<center><FONT FACE=Verdana SIZE=1 COLOR=#000000><B><a href='" & Request.ServerVariables("SCRIPT_NAME") & "?pagina=" & pagina-1 & "'>Anterior</a> ")
Else
Response.Write("<center><FONT FACE=Verdana SIZE=1 COLOR=#000000><B>Anterior")
End If

' Lista todas as páginas encontradas
if objRs.PageCount < 11 then
For i = 1 To objRS.PageCount
  response.write("<a href='" & Request.ServerVariables("SCRIPT_NAME") & "?pagina=" & i & "'>" & i & "</a> ")
Next
end if

if objRs.PageCount > 10 then
    inicio=pagina
    fim=pagina + 9
    tot = pagina + 9
    if tot > ObjRS.PageCount then
      inicio = pagina-((pagina+9)-ObjRs.PageCount)
      fim = inicio+9
    end if
    for i = inicio to fim
        response.write("<a href='" & Request.ServerVariables("SCRIPT_NAME") & "?pagina=" & i & "'>" & i & "</a> ")
    next
end if


' Se a variável pagina for menor que o total de páginas então imprime o botão Próxima com link
' Senão imprime sem link
If CInt(pagina) < objRS.PageCount Then
Response.Write("<a href='" & Request.ServerVariables("SCRIPT_NAME") & "?pagina=" & pagina+1 & "'>Próxima</a></B></FONT></center>")
Else
Response.Write("Próxima</B></FONT></center>")
End If
End If
%>




<%While Not objRS.EOF AND cont < objRS.PageSize%>
<tr bgcolor="#0099CC" bordercolor="0">
  <td height="7" width="110" align="left"><font size="1" face="Verdana"><b><%=objRS("cliente")%></b></font></td>
  <td height="7" width="110" align="center"><font size="1" face="Verdana"><b><%=objRS("fone")%></b></font></td>
  <td height="7" width="83" align="center"><font size="1" face="Verdana"><b><%=objRS("endereco")%></b></font></td>
  <td height="7" width="70" align="center"><font size="1" face="Verdana"><b><%=objRS("numero")%></b></font></td>
  <td height="7" width="107" align="center"><font size="1" face="Verdana"><b><%=objRS("bairro")%></b></font></td>
  <td height="7" width="55" align="center">
  <a href="../action_altera.asp?id=<%=objRS("id")%>" OnClick="return confirm('Deseja Realmente Alterar ?')">
  <img src="imagens/edit.gif" width="16" height="16" border="0" alt="Clic aqui para Alterar.">
  </a>  
</td>
<%
cont = cont + 1
objRS.MoveNext
Wend
%>
</tr>
</table>
<%
' Fecha e destroi os objetos RS e conn
objRS.Close : objconn.Close
Set RS = Nothing : Set objconn = Nothing
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Xan, tens alguma ideia de como disponibilizar butoes de paginas usando o meu exemplo?

 

tipo:

 

butao1(0-15)

 

butao2(16-30)

 

butao3(31-45)

 

etc....

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

insira um tag img dentro do link gerado para navegação

 

Response.Write("<a href='" & Request.ServerVariables("SCRIPT_NAME") & "?pagina=" & pagina+1 & "'>Próxima</a></B></FONT></center>")

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nao, o que eu refiro é ter uma barra com butoes tipo primeiras 5 paginas e ultimas 3 paginas

 

tipo como esta nesta imagem

 

aspnetmvc-pager_thumb.png

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nao, o que eu refiro é ter uma barra com butoes tipo primeiras 5 paginas e ultimas 3 paginas

 

tipo como esta nesta imagem

 

aspnetmvc-pager_thumb.png

 

Caro razs,

Veja neste link, é bem perto do que você procura. Basta alterar os css no início da pagina até chegar no resultado que procuras:

Paginação ASP + MYSQL

 

Espero que ajude.

 

Abraços

 

Jardel

Compartilhar este post


Link para o post
Compartilhar em outros sites

isso você pode implementar no seu contador de páginas, fazendo ele pegar 5 a frente da página atual.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.