Ir para conteúdo

POWERED BY:

Arquivado

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

hunger

Paginação

Recommended Posts

Se não me engano o nome disso é paginação:tenho uma página onde serão listados todas as matérias cadastradas em um BD. Queria que cada página exibisse X número de mateérias, e passando isso fosse criada automaticamente uma outra página, tendo o link para navegar de uma para outra (normalmente com < e >).Aí vem a questão: Como faço isso? Claro que para não encher vcs, imagino q saibam de repente algum lugar onde tenha um tutorial ou coisa assim.Agradeço desde já,Abço,Marcos Hunger.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dá uma olhada aqui na área de códigos e tutoriais.

Compartilhar este post


Link para o post
Compartilhar em outros sites

:joia:

Compartilhar este post


Link para o post
Compartilhar em outros sites

velho....rs..no minimo você ja está me xingando. mas enfim.....preciso perguntar:

 

Achei la o código para paginação, alterei pelos meus dados e testei. pronto, funcionou numa boa.

 

Mas, eu queria q o resultado fosse exibido da maneira q eu já havia feito antes, qdo sem paginação. só q não estou conseguindo unir as duas coisas!!! :D

 

Vou colocar aqui embaixo o código que tem no tutorial para paginação, mais abaixo a minha pagina sem paginação.... e mais abaixo ainda a m@#%@ que eu fiz e não funcionou.

 

 

paginação

 

<% 'Efetuando a conexão com a base de dados criada -----------------------Set Conn = Server.CreateObject("AdoDb.Connection") Conn.provider="Microsoft.Jet.OLEDB.4.0" Conn.connectionstring="e:\home\dad\dados\BancoNoticias.mdb" Conn.open '--------------------------------------------------------------------------'Vamos criar o objeto Record Set -> neste caso é necessário declará-lo,'pois vamos utilizar algumas funções deste objeto Set RS = Server.CreateObject("adodb.recordset")RS.PageSize = 5 'quantidade de registros por página. Você pode alterar sem conforme precise.'Vamos fazer a busca na tabela contatosSQL = "select * from noticias" RS.Open SQL,Conn,3,3'Vamos agora verificar exceções do tipo “fim de arquivo” (EOF), se a página atual é menor 'que zero, se é maior que o número total de páginas, etc.IF RS.EOF then    Response.Write "nenhum registro encontrado"   Response.End 'paramos o programaELSE   'Definindo em qual pagina o visitante está   IF Request.QueryString("pagina")="" then       intpagina=1    ELSE      IF cint(Request.QueryString("pagina"))<1 then         intpagina=1       ELSE         IF cint(Request.QueryString("pagina"))> RS.PageCount then             intpagina=RS.PageCount          ELSE            intpagina=Request.QueryString("pagina")         END IF      END IF   END IFEND IF'Fim das verificações de exceções'Usamos a propriedade AbsolutePage para dizer ao RS que página ele esta RS.AbsolutePage=intpagina' Inicia o contador que vai controlar os registros mostradosintrec=0'Enquanto o contador for menor que a quantidade de registros mostrados ou' não for o final do arquivo While intrec < RS.PageSize and not RS.EOF '------------------- AQUI VEM TUDO O QUE SEÁ PAGINADO -----------------------   response.write RS("TITULO_NOTICIA") & " - " & RS("TEXTO_NOTICIA") & " - " & RS("DATA") & "<BR>"'---------------------------------------------------------------------------------------------   RS.MoveNext   ' Acrescenta +1 ao contador   intrec=intrec+1    'Se for EOF (fim de arquivo), imprimir branco na tela   IF RS.EOF then       response.write " "    END IFWend 'fim do loop'Vamos verificar se não é a página 1, para podermos colocar o link “anterior”. IF intpagina > 1 then %>    <a href="noticias3.asp?pagina=<%=intpagina-1%>">Anterior</a> <% END IF'Se não estivermos no último registro contado, então é mostrado o link p/ a próxima página IF strcomp(intpagina,RS.PageCount) <> 0 then %>    <a href="noticias3.asp?pagina=<%=intpagina + 1%>">Próxima</a> <% END IF%>

página com exibição dos dados, mas sem paginação

 

<%@LANGUAGE="VBSCRIPT"%>      <!--#include file="Connections/Conexao.asp" -->      <%Dim RSNoticia__MMColParamRSNoticia__MMColParam = "ativa"If (Request("MM_EmptyValue") <> "") Then   RSNoticia__MMColParam = Request("MM_EmptyValue")End If%>      <%Dim RSNoticiaDim RSNoticia_numRowsSet RSNoticia = Server.CreateObject("ADODB.Recordset")RSNoticia.ActiveConnection = MM_Conexao_STRINGRSNoticia.Source = "SELECT * FROM Noticias WHERE STATUS = '" + Replace(RSNoticia__MMColParam, "'", "''") + "' ORDER BY ID DESC"RSNoticia.CursorType = 0RSNoticia.CursorLocation = 2RSNoticia.LockType = 1RSNoticia.Open()RSNoticia_numRows = 0%>      <%Dim Repeat1__numRowsDim Repeat1__indexRepeat1__numRows = 5Repeat1__index = 0RSNoticia_numRows = RSNoticia_numRows + Repeat1__numRows%>    <table width="578" border="0" cellpadding="4" cellspacing="1">      <% While ((Repeat1__numRows <> 0) AND (NOT RSNoticia.EOF)) If (cor = "#EFF1F5") Thencor = "#F8F9FC"Elsecor ="#EFF1F5"End If%><tr align="left" valign="top" class="texto">         <td width="29%" valign="middle" bgcolor="<%=cor%>" class="texto"><strong><%=(RSNoticia.Fields.Item("TITULO_NOTICIA").Value)%></strong></td>        <td width="53%" valign="middle" bgcolor="<%=cor%>" class="texto">           <div align="left">            <%response.write Left ((RSNoticia.Fields.Item("TEXTO_NOTICIA").Value),45)%>            ...</div></td>        <td width="12%" valign="middle" bgcolor="<%=cor%>"><div align="right"><%=(RSNoticia.Fields.Item("DATA").Value)%></div></td>        <td width="6%" valign="middle" bgcolor="<%=cor%>">           <div align="center"><a href="View.asp?ID=<%=(RSNoticia.Fields.Item("ID").Value)%>">Leia</a></div></td></tr><% Repeat1__index=Repeat1__index+1Repeat1__numRows=Repeat1__numRows-1RSNoticia.MoveNext()Wend%></table>    <font color="#C6C7DD"></font><%RSNoticia.Close()Set RSNoticia = Nothing%>

A mistureba:

<% 'Efetuando a conexão com a base de dados criada -----------------------Set Conn = Server.CreateObject("AdoDb.Connection") Conn.provider="Microsoft.Jet.OLEDB.4.0" Conn.connectionstring="e:\home\dad\dados\BancoNoticias.mdb" Conn.open '--------------------------------------------------------------------------'Vamos criar o objeto Record Set -> neste caso é necessário declará-lo,'pois vamos utilizar algumas funções deste objeto Set RS = Server.CreateObject("adodb.recordset")RS.PageSize = 5 'quantidade de registros por página. Você pode alterar sem conforme precise.'Vamos fazer a busca na tabela contatosSQL = "select * from noticias" RS.Open SQL,Conn,3,3'Vamos agora verificar exceções do tipo “fim de arquivo” (EOF), se a página atual é menor 'que zero, se é maior que o número total de páginas, etc.IF RS.EOF then    Response.Write "nenhum registro encontrado"   Response.End 'paramos o programaELSE   'Definindo em qual pagina o visitante está   IF Request.QueryString("pagina")="" then       intpagina=1    ELSE      IF cint(Request.QueryString("pagina"))<1 then         intpagina=1       ELSE         IF cint(Request.QueryString("pagina"))> RS.PageCount then             intpagina=RS.PageCount          ELSE            intpagina=Request.QueryString("pagina")         END IF      END IF   END IFEND IF'Fim das verificações de exceções'Usamos a propriedade AbsolutePage para dizer ao RS que página ele esta RS.AbsolutePage=intpagina' Inicia o contador que vai controlar os registros mostradosintrec=0'Enquanto o contador for menor que a quantidade de registros mostrados ou' não for o final do arquivo While intrec < RS.PageSize and not RS.EOF 'dados que ja estavam no outro arquivo, provavelmente referente as cores alternadas na tabelaDim Repeat1__numRowsDim Repeat1__indexRepeat1__numRows = 5Repeat1__index = 0RSNoticia_numRows = RSNoticia_numRows + Repeat1__numRows%>       <table width="578" border="0" cellpadding="4" cellspacing="1">      <% While ((Repeat1__numRows <> 0) AND (NOT RSNoticia.EOF)) If (cor = "#EFF1F5") Thencor = "#F8F9FC"Elsecor ="#EFF1F5"End If'------------------- AQUI VEM TUDO O QUE SEÁ PAGINADO -----------------------%><tr align="left" valign="top" class="texto">         <td width="29%" valign="middle" bgcolor="<%=cor%>" class="texto"><strong><%=(RSNoticia.Fields.Item("TITULO_NOTICIA").Value)%></strong></td>        <td width="53%" valign="middle" bgcolor="<%=cor%>" class="texto">           <div align="left">            <%response.write Left ((RSNoticia.Fields.Item("TEXTO_NOTICIA").Value),45)%>            ...</div></td>        <td width="12%" valign="middle" bgcolor="<%=cor%>"><div align="right"><%=(RSNoticia.Fields.Item("DATA").Value)%></div></td>        <td width="6%" valign="middle" bgcolor="<%=cor%>">           <div align="center"><a href="View.asp?ID=<%=(RSNoticia.Fields.Item("ID").Value)%>">Leia</a></div></td></tr><% Repeat1__index=Repeat1__index+1Repeat1__numRows=Repeat1__numRows-1RSNoticia.MoveNext()Wend%></table>   <%'---------------------------------------------------------------------------------------------   RS.MoveNext   ' Acrescenta +1 ao contador   intrec=intrec+1    'Se for EOF (fim de arquivo), imprimir branco na tela   IF RS.EOF then       response.write " "    END IFWend 'fim do loop'Vamos verificar se não é a página 1, para podermos colocar o link “anterior”. IF intpagina > 1 then %>    <a href="noticias3.asp?pagina=<%=intpagina-1%>">Anterior</a> <% END IF'Se não estivermos no último registro contado, então é mostrado o link p/ a próxima página IF strcomp(intpagina,RS.PageCount) <> 0 then %>    <a href="noticias3.asp?pagina=<%=intpagina + 1%>">Próxima</a> <% END IF%>
Este último está dando o seguinte erro:

 

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

 

Microsoft VBScript runtime error '800a01a8'

Object required: ''

 

/noticias/noticias3.asp, line 63

 

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

 

 

Vou continuar tentando aqui. mas se alguem tiverb uma sugestão e/ou solução, agradecerei demais!!!!

 

Abço!

 

Marcos Hunger.

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara deculpa perguntar, mas qual é a linha 63?

Compartilhar este post


Link para o post
Compartilhar em outros sites

ah sim...eu q me desculpo, normalmente eu indico a linha. vou colocar o codigo novamente, e indicar a linha com um >>>>>>>>>>>>>>>>>>>>>>> ok?

 

Abço,

 

Marcos Hunger.

 

 

<% 'Efetuando a conexão com a base de dados criada -----------------------Set Conn = Server.CreateObject("AdoDb.Connection") Conn.provider="Microsoft.Jet.OLEDB.4.0" Conn.connectionstring="e:\home\dad\dados\BancoNoticias.mdb" Conn.open '--------------------------------------------------------------------------'Vamos criar o objeto Record Set -> neste caso é necessário declará-lo,'pois vamos utilizar algumas funções deste objeto Set RS = Server.CreateObject("adodb.recordset")RS.PageSize = 5 'quantidade de registros por página. Você pode alterar sem conforme precise.'Vamos fazer a busca na tabela contatosSQL = "select * from noticias" RS.Open SQL,Conn,3,3'Vamos agora verificar exceções do tipo “fim de arquivo” (EOF), se a página atual é menor 'que zero, se é maior que o número total de páginas, etc.IF RS.EOF then   Response.Write "nenhum registro encontrado"  Response.End 'paramos o programaELSE  'Definindo em qual pagina o visitante está  IF Request.QueryString("pagina")="" then      intpagina=1   ELSE     IF cint(Request.QueryString("pagina"))<1 then        intpagina=1      ELSE        IF cint(Request.QueryString("pagina"))> RS.PageCount then            intpagina=RS.PageCount         ELSE           intpagina=Request.QueryString("pagina")        END IF     END IF  END IFEND IF'Fim das verificações de exceções'Usamos a propriedade AbsolutePage para dizer ao RS que página ele esta RS.AbsolutePage=intpagina' Inicia o contador que vai controlar os registros mostradosintrec=0'Enquanto o contador for menor que a quantidade de registros mostrados ou' não for o final do arquivo While intrec < RS.PageSize and not RS.EOF 'dados que ja estavam no outro arquivo, provavelmente referente as cores alternadas na tabelaDim Repeat1__numRowsDim Repeat1__indexRepeat1__numRows = 5Repeat1__index = 0RSNoticia_numRows = RSNoticia_numRows + Repeat1__numRows%>      <table width="578" border="0" cellpadding="4" cellspacing="1">     <% While ((Repeat1__numRows <> 0) AND (NOT RSNoticia.EOF)) >>>>>>>>>>>>>>>>>>>>If (cor = "#EFF1F5") Thencor = "#F8F9FC"Elsecor ="#EFF1F5"End If'------------------- AQUI VEM TUDO O QUE SEÁ PAGINADO -----------------------%><tr align="left" valign="top" class="texto">        <td width="29%" valign="middle" bgcolor="<%=cor%>" class="texto"><strong><%=(RSNoticia.Fields.Item("TITULO_NOTICIA").Value)%></strong></td>       <td width="53%" valign="middle" bgcolor="<%=cor%>" class="texto">          <div align="left">           <%response.write Left ((RSNoticia.Fields.Item("TEXTO_NOTICIA").Value),45)%>           ...</div></td>       <td width="12%" valign="middle" bgcolor="<%=cor%>"><div align="right"><%=(RSNoticia.Fields.Item("DATA").Value)%></div></td>       <td width="6%" valign="middle" bgcolor="<%=cor%>">          <div align="center"><a href="View.asp?ID=<%=(RSNoticia.Fields.Item("ID").Value)%>">Leia</a></div></td></tr><% Repeat1__index=Repeat1__index+1Repeat1__numRows=Repeat1__numRows-1RSNoticia.MoveNext()Wend%></table>  <%'---------------------------------------------------------------------------------------------  RS.MoveNext  ' Acrescenta +1 ao contador  intrec=intrec+1   'Se for EOF (fim de arquivo), imprimir branco na tela  IF RS.EOF then      response.write " "   END IFWend 'fim do loop'Vamos verificar se não é a página 1, para podermos colocar o link “anterior”. IF intpagina > 1 then %>   <a href="noticias3.asp?pagina=<%=intpagina-1%>">Anterior</a> <% END IF'Se não estivermos no último registro contado, então é mostrado o link p/ a próxima página IF strcomp(intpagina,RS.PageCount) <> 0 then %>   <a href="noticias3.asp?pagina=<%=intpagina + 1%>">Próxima</a> <% END IF%>

 

A linha é: While ((Repeat1__numRows <> 0) AND (NOT RSNoticia.EOF)) pouco antes do comentário "aqui vem tudo que será paginado".

Compartilhar este post


Link para o post
Compartilhar em outros sites

isso mesmo cara, acho que é pra tirar quase todo o codigo da pagina que você tinha, só deixa o codigo que imprime os dados na tela

 

vai ficar assim na nova mistureba, mas se der erro não se assusta, posta ai

 

[tr][/tr][tr][/tr]
ASP <%

'Efetuando a conexão com a base de dados criada -----------------------

Set Conn = Server.CreateObject("AdoDb.Connection")

Conn.provider="Microsoft.Jet.OLEDB.4.0"

Conn.connectionstring="e:\home\dad\dados\BancoNoticias.mdb"

Conn.open

'--------------------------------------------------------------------------

 

'Vamos criar o objeto Record Set -> neste caso é necessário declará-lo,

'pois vamos utilizar algumas funções deste objeto

Set RS = Server.CreateObject("adodb.recordset")

 

RS.PageSize = 5 'quantidade de registros por página. Você pode alterar sem conforme precise.

 

'Vamos fazer a busca na tabela contatos

SQL = "select * from noticias"

RS.Open SQL,Conn,3,3

 

'Vamos agora verificar exceções do tipo “fim de arquivo” (EOF), se a página atual é menor

'que zero, se é maior que o número total de páginas, etc.

IF RS.EOF then

Response.Write "nenhum registro encontrado"

Response.End 'paramos o programa

ELSE

'Definindo em qual pagina o visitante está

IF Request.QueryString("pagina")="" then

intpagina=1

ELSE

IF cint(Request.QueryString("pagina"))<1 then

intpagina=1

ELSE

IF cint(Request.QueryString("pagina"))> RS.PageCount then

intpagina=RS.PageCount

ELSE

intpagina=Request.QueryString("pagina")

END IF

END IF

END IF

END IF

'Fim das verificações de exceções

 

'Usamos a propriedade AbsolutePage para dizer ao RS que página ele esta

RS.AbsolutePage=intpagina

 

' Inicia o contador que vai controlar os registros mostrados

intrec=0

 

%>

<table width="578" border="0" cellpadding="4" cellspacing="1">

<%

 

'Enquanto o contador for menor que a quantidade de registros mostrados ou

' não for o final do arquivo

While intrec < RS.PageSize and not RS.EOF

'------------------- AQUI VEM TUDO O QUE SEÁ PAGINADO -----------------------

If (cor = "#EFF1F5") Then

cor = "#F8F9FC"

Else

cor ="#EFF1F5"

End If

 

%>

<tr align="left" valign="top" class="texto">

<td width="29%" valign="middle" bgcolor="<%=cor%>" class="texto"><strong><%=(RSNoticia.Fields.Item("TITULO_NOTICIA").Value)%></strong></td>

<td width="53%" valign="middle" bgcolor="<%=cor%>" class="texto">

<div align="left">

<%response.write Left ((RSNoticia.Fields.Item("TEXTO_NOTICIA").Value),45)%>

...</div></td>

<td width="12%" valign="middle" bgcolor="<%=cor%>">

<div align="right"><%=(RSNoticia.Fields.Item("DATA").Value)%></div></td>

<td width="6%" valign="middle" bgcolor="<%=cor%>">

<div align="center"><a href="View.asp?ID=<%=(RSNoticia.Fields.Item("ID").Value)%>">Leia</a></div></td>

</tr>

<%

 

'---------------------------------------------------------------------------------------------

RS.MoveNext

 

' Acrescenta +1 ao contador

intrec=intrec+1

'Se for EOF (fim de arquivo), imprimir branco na tela

IF RS.EOF then

response.write " "

END IF

Wend 'fim do loop

 

%>

</table>

<%

 

'Vamos verificar se não é a página 1, para podermos colocar o link “anterior”.

IF intpagina > 1 then

%>

<a href="noticias3.asp?pagina=<%=intpagina-1%>">Anterior</a>

<%

END IF

 

'Se não estivermos no último registro contado, então é mostrado o link p/ a próxima página

IF strcomp(intpagina,RS.PageCount) <> 0 then

%>

<a href="noticias3.asp?pagina=<%=intpagina + 1%>">Próxima</a>

<%

END IF

%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

fala, beleza?entao velho, deu o mesmo erro...:---Microsoft VBScript runtime error '800a01a8' Object required: '' /noticias/noticias3.asp, line 64 ---maldita aspas!!!! :wacko:

Compartilhar este post


Link para o post
Compartilhar em outros sites

qual linha??

Compartilhar este post


Link para o post
Compartilhar em outros sites

verdade....desculpe, nao vi q nao era a mesma de antes!a linha 64 é essa aqui:<td width="29%" valign="middle" bgcolor="<%=cor%>" class="texto"><strong><%=(RSNoticia.Fields.Item("TITULO_NOTICIA").Value)%></strong></td>é a maior linha do codigo todo, ta facil de achar. dentro da área do "aqui vem td q será paginado"

Compartilhar este post


Link para o post
Compartilhar em outros sites

fala, beleza?entao velho, deu o mesmo erro...:---Microsoft VBScript runtime error '800a01a8' Object required: '' /noticias/noticias3.asp, line 64 ---maldita aspas!!!! :wacko:

cara eh o seguinte o nome do objeto declarado e instanciado é RS e você ta chamando RsNoticiatem que trocar todo rsNoticia por RS, ou então trocar lá em cima por Rsnoticia

Compartilhar este post


Link para o post
Compartilhar em outros sites

ah, beleza....vou fazer a troca.....depois vejo o q da e posto aqui, beleza?!mto obrigado pela ajuda viu!! sem comentarios....ta me dando mó força mesmo!abço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

So mais uma coisa sei que é bacana mostrar cada propriedade do objeto recorset fica bem explicado mais fica muito longo tb, no inicio sempre fazia assim tb

 

[tr][/tr][tr][/tr]
ASP RSNoticia.Fields.Item("TITULO_NOTICIA").Value

 

Mas como Fields, Item e Value são padrões na chamada do objeto, voce pode usar assim

 

[tr][/tr][tr][/tr]
ASP RSNoticia("TITULO_NOTICIA")

Compartilhar este post


Link para o post
Compartilhar em outros sites

putz....maravilha..... funcionou!!!! valeu era isso mesmo. besteirinha ne, mas acaba passando despercebido!

 

vou jogar a página agora no layout q preciso, imagino q nao dê mais problemas.....pelo menos espero!

 

valeu velho!

 

abço,

 

marcos hunger. http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

 

 

obs. só de curiosidade... só pra saber mesmo. é mto dificil fazer aquele esquema tp pagina de busca, onde os links para proxima pagina aparecem como numeros, indicando todas as paginas q existem?

Compartilhar este post


Link para o post
Compartilhar em outros sites

ah, só mais uma coisa tbem....como eu faço para q ele liste os dados por ordem de registro? pq assim, qdo eu cadastro uma nova materia, coloco uma data. como eu faria para ele listar da mais recente à mais antiga?

Compartilhar este post


Link para o post
Compartilhar em outros sites

obs. só de curiosidade... só pra saber mesmo. é mto dificil fazer aquele esquema tp pagina de busca, onde os links para proxima pagina aparecem como numeros, indicando todas as paginas q existem?

cara nunca fiz mas não creio que seja uma missão impossivel, alias deve ser até bem simples, você dá um count nos registros do recorset e divide pelo quantidade registros que terá sua pagina, se der exato é o numero de pages que terá se der resto arredonda pra cima e poe em cada uma os parametros pra ir direto pra page.Bem deve ser isso

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza..vou ver isso ae.e aquele outro negocio q falei, de mostrar por ordem, ou de registro, ou de data....é aquele lance de colocar ORDER BY ID DESC (ID no caso é o nome do campo q eu quero e tals...

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza..vou ver isso ae.e aquele outro negocio q falei, de mostrar por ordem, ou de registro, ou de data....é aquele lance de colocar ORDER BY ID DESC (ID no caso é o nome do campo q eu quero e tals...

isso mesmo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha velho, to tentando tentando aqui..... mas nao consigo fazer funcionar. na verdade acabei pegando um trecho do codigo q tinha isso e funcionava perfeitamente, mas agora joguei na pagina aqui e fica dando um erro...

 

o erro é o seguinte:

 

**********************************************

 

ADODB.Recordset error '800a0e79'

Operation is not allowed when the object is open.

 

/noticias/noticias3.asp, line 60

 

**********************************************

 

o trecho do código que incluí naquela pagina q estavamos mexendo é:

 

Dim RS__MMColParamRS__MMColParam = "ativa"If (Request("MM_EmptyValue") <> "") Then   RS__MMColParam = Request("MM_EmptyValue")End IfDim RSDim RS_numRowsRS.Source = "SELECT * FROM Noticias WHERE STATUS = '" + Replace(RS__MMColParam, "'", "''") + "' ORDER BY ID DESC"RS.CursorType = 0RS.CursorLocation = 2RS.LockType = 1RS.Open()RS_numRows = 0

Esta primeira parte do código é para que só seja exibido os textos que estão ativos (ha uma opção no momento do cadastro da matéria onde você escolhe se quer o texto ativo ou inativo. o certo é que sejam exibidos apenas os textos ativos). e a segunda parte seria para ordenar conforme registro.

 

olha, isso eu peguei da página q tenho aqui qdo td funcionava, mas sem a paginação. com a paginação essa parte toda ficou de fora. tentei colocar agora, mas como sou uma porta mesmo com programação, imagino q esteja errando absurdamente em algo.

 

o código da página com esse trecho ae de cima é:

 

<% 'Efetuando a conexão com a base de dados criada -----------------------Set Conn = Server.CreateObject("AdoDb.Connection") Conn.provider="Microsoft.Jet.OLEDB.4.0" Conn.connectionstring="e:\home\dad\dados\BancoNoticias.mdb" Conn.open '--------------------------------------------------------------------------'Vamos criar o objeto Record Set -> neste caso é necessário declará-lo,'pois vamos utilizar algumas funções deste objeto Set RS = Server.CreateObject("adodb.recordset")RS.PageSize = 5 'quantidade de registros por página. Você pode alterar sem conforme precise.'Vamos fazer a busca na tabela contatosSQL = "select * from noticias" RS.Open SQL,Conn,3,3'Vamos agora verificar exceções do tipo “fim de arquivo” (EOF), se a página atual é menor 'que zero, se é maior que o número total de páginas, etc.IF RS.EOF then Response.Write "nenhum registro encontrado"Response.End 'paramos o programaELSE'Definindo em qual pagina o visitante estáIF Request.QueryString("pagina")="" then intpagina=1 ELSEIF cint(Request.QueryString("pagina"))<1 thenintpagina=1 ELSEIF cint(Request.QueryString("pagina"))> RS.PageCount then intpagina=RS.PageCount ELSEintpagina=Request.QueryString("pagina")END IFEND IFEND IFEND IF'Fim das verificações de exceções'Usamos a propriedade AbsolutePage para dizer ao RS que página ele esta RS.AbsolutePage=intpagina' Inicia o contador que vai controlar os registros mostradosintrec=0%><table width="578" border="0" cellpadding="4" cellspacing="1"><% Dim RS__MMColParamRS__MMColParam = "ativa"If (Request("MM_EmptyValue") <> "") Then   RS__MMColParam = Request("MM_EmptyValue")End IfDim RSDim RS_numRowsRS.Source = "SELECT * FROM Noticias WHERE STATUS = '" + Replace(RS__MMColParam, "'", "''") + "' ORDER BY ID DESC"RS.CursorType = 0RS.CursorLocation = 2RS.LockType = 1RS.Open()RS_numRows = 0'Enquanto o contador for menor que a quantidade de registros mostrados ou' não for o final do arquivo While intrec < RS.PageSize and not RS.EOF '------------------- AQUI VEM TUDO O QUE SERÁ PAGINADO -----------------------If (cor = "#EFF1F5") Thencor = "#F8F9FC"Elsecor ="#EFF1F5"End If%><tr align="left" valign="top" class="texto"> <td width="29%" valign="middle" bgcolor="<%=cor%>" class="texto"><strong><%=(RS.Fields.Item("TITULO_NOTICIA").Value)%></strong></td><td width="53%" valign="middle" bgcolor="<%=cor%>" class="texto"> <div align="left"><%response.write Left ((RS.Fields.Item("TEXTO_NOTICIA").Value),45)%>...</div></td><td width="12%" valign="middle" bgcolor="<%=cor%>"><div align="right"><%=(RS.Fields.Item("DATA").Value)%></div></td><td width="6%" valign="middle" bgcolor="<%=cor%>"> <div align="center"><a href="View.asp?ID=<%=(RS.Fields.Item("ID").Value)%>">Leia</a></div></td></tr><% '---------------------------------------------------------------------------------------------RS.MoveNext' Acrescenta +1 ao contadorintrec=intrec+1 'Se for EOF (fim de arquivo), imprimir branco na telaIF RS.EOF then response.write " " END IFWend 'fim do loop%></table><%'Vamos verificar se não é a página 1, para podermos colocar o link “anterior”. IF intpagina > 1 then %> <a href="noticias3.asp?pagina=<%=intpagina-1%>">Anterior</a> <% END IF'Se não estivermos no último registro contado, então é mostrado o link p/ a próxima página IF strcomp(intpagina,RS.PageCount) <> 0 then %> <a href="noticias3.asp?pagina=<%=intpagina + 1%>">Próxima</a> <% END IF%><%RS.Close()Set RS = Nothing%>

Agradeço a paciencia desde já....rs http://forum.imasters.com.br/public/style_emoticons/default/blush.gif

 

abço.

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.