Ir para conteúdo

POWERED BY:

Arquivado

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

marcao

Paginação em Sistema de Noticias

Recommended Posts

Olá pessoal do forum,Tenho um sistema de notícias que peguei do Imasters, e ele funciona perfeitamente para o que eu preciso, o que eu gostaria de saber e como incluir uma paginação para a página não ficar muito comprida, isso porque incluo notícias todos os dias e muitas vezes mais de uma.ValeuMarcão

Compartilhar este post


Link para o post
Compartilhar em outros sites

da uma olhada nesse exemplo q é bem exploicadinho e qq duvida entre em contato

erikagrigo@bol.com.br

------------------------------------------------------------------------------------------

PAGINAÇÃO COM ASP

 

Wagner Ponciano de Souza

http://wsvb.rg3.net

wagner@fatorx.com.br

 

 

Ao contrário do que muitos pensam, fazer paginação é algo muito fácil.

Para isso, precisamos entender como funciona.

O objeto Recordset possui 3 propriedades que usamos para fazer a paginação:

 PageSize: Define o tamanho da página (por exemplo, você pode definir que uma página tenha 10 registros)

 PageCount: Retorna o número de páginas do recordset. O ADO internamente divide o número total de registros pelo PageSize.

 AbsolutePage: Com ele indicamos ou pegamos a página atual do recordset.

 

Para ver como funciona, crie um banco de dados chamado “paginacao.mdb". Crie nele uma tabela “Pessoas”, com os seguintes campos (no nosso exemplo usamos um banco de dados Access, mas você pode usar outro se for o caso):

 

Tabela Pessoas

Campo Tipo de dados (deixe o tamanho padrão)

ID Autonumeração

Nome Texto

 

Salve e acrescente registros (por volta de 12 pelo menos).

 

Agora, crie um arquivo ASP e salve-o com o nome “Paginacao.asp”.

Nele, adicione o conteúdo a seguir:

 

<%

dim Conn

dim RS

Const intPageSize=3 'Tamanho da página - você pode alterar se quiser

dim intCurrPage

dim a

set Conn=Server.CreateObject("adodb.connection")

set rs=server.CreateObject("adodb.recordset")

 

Conn.CursorLocation=3 'AdUseClient

 

'Na linha acima, definimos que o cursosr do banco de dados

'Deve estar no cliente. Com isso, podemos usar as própriedades

'de paginação.

 

Conn.Open "provider=microsoft.jet.oledb.4.0;data source=" & server.MapPath("paginacao.mdb")

RS.Open "select * from pessoas",conn

 

 

intCurrPage=cint(Request.QueryString("CurrPage"))

'Pega a próxima página (que foi chamada através dos links definidos mais abaixo)

 

if intCurrPage=0 then intCurrPage=1

'Se chamamos essa página na primeira vez

'definimos que a página atual será a página 1

'Caso contrário, é usado o valor que foi retornado

'pela QueryString

 

RS.PageSize=intPageSize

 

 

RS.AbsolutePage=intCurrPage

 

'No Loop abaixo, contamos de 1 até o Tamanho da página

'(no nosso caso, 3).

'O registro 1 é o primeiro registro da página atual,

'e não o do recordset

 

a=0

while a < intPageSize and not RS.EOF

a=a+1

Response.Write RS.Fields("Nome").Value & "<BR>"

RS.MoveNext

wend

 

Response.Write "<BR>"

for a = 1 to RS.PageCount

if a <> intCurrPage then

'Se "a" for diferente da página atual,

'Mostramos um link para a página(com o valor de a)

Response.Write "<a href=""paginacao.asp?Currpage=" & a & """>" & a & "</a> "

else

Response.Write a & " "

end if

next

Response.Write "<BR>"

if intCurrPage > 1 then

'Caso exista uma próxima página...

Response.Write "<a href=""paginacao.asp?Currpage=" & intCurrPage-1 & """>Página Anterior</a>"

end if

Response.Write " "

if intCurrPage < RS.PageCount then

'Caso exista uma página anterior...

Response.Write "<a href=""paginacao.asp?Currpage=" & intCurrPage+1 & """>Próxima Página</a>"

end if

RS.Close

Conn.Close

set rs=nothing

set conn=nothing

%>

 

Como você pôde ver, fazer paginação não é nenhum bicho de sete cabeças.

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.