Ir para conteúdo

POWERED BY:

Arquivado

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

designmix

Paginação

Recommended Posts

Galera gostaria de aprender, a logica de um sistema de paginação.Não quero pegar nem um codigo ai e apenas editar gostaria que vcs me ajudem a montar um pois, acho que so assim vou aprender mesmo.okFiz um sitema de busca e agora quero que ele mostre 10 resultado de cada vezAgradeço a ajuda galera

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não, é que tem um exemplo simples no "Laboratório de Scripts".

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok encontrei esse scritp .

Gostaria de saber como funciona a paginaçao .

ASP

[*]<%

 

[*]StringDeConexao "Driver={Microsoft Access Driver (*.mdb)};DBQ="server.MapPath("clientes.mdb")

 

[*]Set Conexao Server.CreateObject("AdoDb.Connection")

 

[*]Conexao.Open StringDeConexao

 

[*]

 

[*]Set RS Server.CreateObject("AdoDb.RecordSet")

 

[*]

 

[*]nomepagina "default2.asp" 'IMPOTANTE:Coloque aqui o nome desta página.

 

[*]registros = 4

 

[*]

 

[*]RS.CacheSize = registros

 

[*]RS.PageSize = registros

 

[*]

 

[*]SQL "Select * from contatos"

 

[*]

 

[*]RS.Open SQl,Conexao,3,3

 

[*]

 

[*]If RS.Eof then

 

[*]Response.Write("Nenhum registro encontrado.")

 

[*]

 

[*]else

 

[*]

 

[*]if Request.QueryString("pagina")="" then

 

[*]pagina = 1

 

[*]elseif cint(Request.QueryString("pagina"))<1 then

 

[*]pagina = 1

 

[*]elseif cint(Request.QueryString("pagina"))>RS.PageCount then

 

[*]pagina RS.PageCount

 

[*]else pagina=Request.QueryString("pagina")

 

[*]end if

 

[*]end if

 

[*]

 

[*]RS.AbsolutePage = pagina

 

[*]

 

[*]contador = 0

 

[*]

 

[*]While contador<registros and not RS.eof

 

[*]

 

[*]response.Write(RS("nome")&"-"&RS("telefone")&"-"&RS("email")&"<p>")

 

[*]

 

[*]RS.MoveNext

 

[*]

 

[*]contador = contador + 1

 

[*]

 

[*]If RS.eof then

 

[*]Response.Write("")

 

[*]end if

 

[*]

 

[*]Wend

 

[*]

 

[*]for i=1 to RS.PageCount

 

[*]

 

[*]response.Write("<a href="&nomepagina&"?pagina="&i&">"&replace(i,pagina,"<font color=blue><b>"&i&"</b>")&"</a> ")

 

[*]

 

[*]Next

 

[*]%>

Pois acho que so assim vou aprender mesmo asp

 

pelo que percebi o for é para .

Mais esse aqui nao entendi nada

nomepagina = "default2.asp" 'IMPOTANTE:Coloque aqui o nome desta página.registros = 4RS.CacheSize = registrosRS.PageSize = registros

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok, Vou acrescentar uns comentários no código, caso não entenda algo é só continuar perguntando.

ASP
  1. <%StringDeConexao "Driver={Microsoft Access Driver (*.mdb)};DBQ="server.MapPath("clientes.mdb")
     
  2. Set Conexao Server.CreateObject("AdoDb.Connection")
     
  3. Conexao.Open StringDeConexao
     

  4.  
  5. Set RS Server.CreateObject("AdoDb.RecordSet")
     
  6. ' Até aqui normal, cria o objeto de conexão e o RecordSet ADO (é obrigatório ser, para usar esse tipo de paginação.)
     
  7. nomepagina "default2.asp" 'IMPOTANTE:Coloque aqui o nome desta página.
     
  8. ' Aqui não é obrigatório, é apenas para montar o link usando o nome da página atual.
     
  9. registros = 4
     
  10. ' Aqui define-se numa variável a quantidade de registros por página.
     
  11. RS.CacheSize = registros
     
  12. ' Informa ao RecordSet que o seu Cache é igual ao numero de registros da paginação
     
  13. RS.PageSize = registros
     
  14. ' Informa ao RecordSet que o tamanho da página possui tal quantidade de registros.
     
  15. SQL "Select * from contatos"
     

  16.  
  17. RS.Open SQl,Conexao,3,3
     

  18.  
  19. If RS.Eof then
     
  20. Response.Write("Nenhum registro encontrado.")
     

  21.  
  22. else ' Até aqui é normal, abre o RecordSet e verifica se possui dados
     

  23.  
  24. if Request.QueryString("pagina")="" then
     
  25. pagina = 1
     
  26. elseif cint(Request.QueryString("pagina"))<1 then
     
  27. pagina = 1
     
  28. elseif cint(Request.QueryString("pagina"))>RS.PageCount then
     
  29. pagina RS.PageCount
     
  30. else pagina=Request.QueryString("pagina")
     
  31. end if
     
  32. end if
     
  33. ' Essa sequencia de Ifs é para recuperar e testar a página atual em que se encontra e que se deve exibir, note que é testado se existe algum valor, caso não exista dá-se o valor "1", caso seja maior que o numero de páginas dá-se o numero da última página
     

  34.  
  35. RS.AbsolutePage = pagina 
     
  36. ' Aqui passa para o RecordSet qual é a página atual que deve ser exibida
     

  37.  
  38. contador = 1
     

  39.  
  40. While contador<registros and not RS.eof
     
  41. ' Para exibir a quantidade correta deve-se fazer o While até o tamanho da página e/ou até o Final dos registros.
     
  42. response.Write(RS("nome")&"-"&RS("telefone")&"-"&RS("email")&"<p>")
     

  43.  
  44. RS.MoveNext
     

  45.  
  46. contador = contador + 1
     

  47.  
  48. If RS.eof then
     
  49. Response.Write("")
     
  50. end if
     

  51.  
  52. Wend
     
  53. ' Normal para a exibição dos registros
     
  54. for i=1 to RS.PageCount
     
  55. ' PageCount retorna o numero total de páginas que o RecordSet dispõe, levando em consideração a quantidade de resgistros de cada página
     
  56. response.Write("<a href="&nomepagina&"?pagina="&i&">"&replace(i,pagina,"<font color=blue><b>"&i&"</b>")&"</a> ")
     
  57. ' Aqui é montado os links com o numero da página, deve-se passar o número da página e, caso esteja paginando uma busca, o dado da busca.
     
  58. Next
     
  59. %>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pelo que eu entendi seria isso

 

ASP

[*]<%if vBusca <>"" then%>

 

[*]<table width="523" border=0 align="center" cellspacing="1">

 

[*]<tr>

 

[*] <td width="72">Data</td>

 

[*] <td width="435"><div align="left">Titulo <span class="texto_bold">

 

[*]  - 

 

[*] <%

 

[*]Dim rsBuscaBusca

 

[*]Dim strsBuscaQL

 

[*]Dim vBusca

 

[*]vBusca Request.form ("pesquisa")

 

[*]

 

[*]nomepagina "alter_noticia.asp" 'IMPOTANTE:Coloque aqui o nome desta página.

 

[*]registros = 4

 

[*]

 

[*]rsBusca.CacheSize = registros

 

[*]rsBusca.PageSize = registros

 

[*]

 

[*]StrsBuscaQl "Select * From noticia Where materia Like'%" & vBusca & "%'"

 

[*]

 

[*]function preparaPalavra(str)

 

[*] preparaPalavra replace(str,"a","[a,á,à,ã,â,ä]")

 

[*] preparaPalavra replace(preparaPalavra,"e","[e,é,è,ê,ë]")

 

[*] preparaPalavra replace(preparaPalavra,"i","[i,í,ì,î,ï]")

 

[*] preparaPalavra replace(preparaPalavra,"o","[o,ó,ò,õ,ô,ö]")

 

[*] preparaPalavra replace(preparaPalavra,"u","[u,ú,ù,û,ü]")

 

[*] preparaPalavra = preparaPalavra

 

[*]end function

 

[*]

 

[*]Call abre_conexao

 

[*]Set rsBusca conn.Execute (StrSQl) 

 

[*]  

 

[*]  

 

[*]If rsBusca.EOF THEN

 

[*] 

 

[*]response.write("Nada encontrado")

 

[*]else

 

[*]

 

[*]if Request.QueryString("pagina")="" then

 

[*]pagina = 1

 

[*]elseif cint(Request.QueryString("pagina"))<1 then

 

[*]pagina = 1

 

[*]elseif cint(Request.QueryString("pagina"))>rsBusca.PageCount then

 

[*]pagina rsBusca.PageCount

 

[*]else pagina=Request.QueryString("pagina")

 

[*]end if

 

[*]end if

 

[*]

 

[*]rsBusca.AbsolutePage = pagina

 

[*]

 

[*]contador = 0

 

[*]

 

[*]While contador<registros and not rsBusca.eof

 

[*]

 

[*]response.Write(rsBusca("data")&"-"&rsBusca("materia")&"<p>")

 

[*]

 

[*]rsBusca.MoveNext

 

[*]

 

[*]contador = contador + 1

 

[*]

 

[*]If rsBusca.eof then

 

[*]Response.Write("")

 

[*]end if

 

[*]

 

[*]Wend

 

[*]

 

[*]for i=1 to rsBusca.PageCount

 

[*]

 

[*]response.Write("<a href="&alter_noticia.asp&"?pagina="&i&">"&replace(i,pagina,"<font color=blue><b>"&i&"</b>")&"</a> ")

 

[*]

 

[*]Next

 

[*]%>

 

[*] <%else%>

 

[*] </span></div></td>

 

[*]</tr>

 

[*]<%While not rsBusca.EOF%>

 

[*]<tr>

 

[*]<td><%=rsBusca("data")%></td>

 

[*]<td><%=rsBusca("materia")%></td>

 

[*]</tr>

 

[*]<%rsBusca.movenext

 

[*]wend%>

 

[*]<%End If%>

 

[*]</table>

So que esta dando esse erro

Tipo de erro:Erro de tempo de execução do Microsoft VBScript (0x800A01A8)Objeto necessário: ''/jaffar/Site_dtp/DTP/www/teste/alter_noticia.asp, line 213
O que seria Objeto necessário: ''

 

grato

Compartilhar este post


Link para o post
Compartilhar em outros sites

qual é linha 213??este objeto pode ser seu recordset ou sua conexao...

Compartilhar este post


Link para o post
Compartilhar em outros sites

gostaria de trocar a conexao de access para mysql que esta em um include que chamo

 

Bib_conecao.asp

dim conn

 

sub abre_conexao

Set conn = Server.CreateObject("ADODB.Connection")

conn.open "driver=MySQL ODBC 3.51 Driver;server=mysql.photopro.locaweb.com.br;uid=login;pwd=****;database=photopro2_1"

end sub

 

Sub fecha_conexao

conn.close

set conn = nothing

end sub

ASP

[*]<%

 

[*]

 

[*]StringDeConexao "Driver={Microsoft Access Driver (*.mdb)};DBQ="server.MapPath("clientes.mdb")

 

[*]

 

[*]Set Conexao Server.CreateObject("AdoDb.Connection")

 

[*]

 

[*]Conexao.Open StringDeConexao

 

[*]

 

[*]

 

[*]

 

[*]Set RS Server.CreateObject("AdoDb.RecordSet")

 

[*]

 

[*]

 

[*]

 

[*]nomepagina "default2.asp" 'IMPOTANTE:Coloque aqui o nome desta página.

 

[*]

 

[*]registros = 4

 

[*]

 

[*]

 

[*]

 

[*]RS.CacheSize = registros

 

[*]

 

[*]RS.PageSize = registros

 

[*]

 

[*]

 

[*]

 

[*]SQL "Select * from contatos"

 

[*]

 

[*]

 

[*]

 

[*]RS.Open SQl,Conexao,3,3

 

[*]

 

[*]

 

[*]

 

[*]If RS.Eof then

 

[*]

 

[*]Response.Write("Nenhum registro encontrado.")

 

[*]

 

[*]

 

[*]

 

[*]else

 

[*]

 

[*]

 

[*]

 

[*]if Request.QueryString("pagina")="" then

 

[*]

 

[*]pagina = 1

 

[*]

 

[*]elseif cint(Request.QueryString("pagina"))<1 then

 

[*]

 

[*]pagina = 1

 

[*]

 

[*]elseif cint(Request.QueryString("pagina"))>RS.PageCount then

 

[*]

 

[*]pagina RS.PageCount

 

[*]

 

[*]else pagina=Request.QueryString("pagina")

 

[*]

 

[*]end if

 

[*]

 

[*]end if

 

[*]

 

[*]

 

[*]

 

[*]RS.AbsolutePage = pagina

 

[*]

 

[*]

 

[*]

 

[*]contador = 0

 

[*]

 

[*]

 

[*]

 

[*]While contador<registros and not RS.eof

 

[*]

 

[*]

 

[*]

 

[*]response.Write(RS("nome")&"-"&RS("telefone")&"-"&RS("email")&"<p>")

 

[*]

 

[*]

 

[*]

 

[*]RS.MoveNext

 

[*]

 

[*]

 

[*]

 

[*]contador = contador + 1

 

[*]

 

[*]

 

[*]

 

[*]If RS.eof then

 

[*]

 

[*]Response.Write("")

 

[*]

 

[*]end if

 

[*]

 

[*]

 

[*]

 

[*]Wend

 

[*]

 

[*]

 

[*]

 

[*]for i=1 to RS.PageCount

 

[*]

 

[*]

 

[*]

 

[*]response.Write("<a href="&nomepagina&"?pagina="&i&">"&replace(i,pagina,"<font color=blue><b>"&i&"</b>")&"</a> ")

 

[*]

 

[*]

 

[*]

 

[*]Next

 

[*]

 

[*]%>

 

[*]

 

[*]

Compartilhar este post


Link para o post
Compartilhar em outros sites

se trocar de db o lance da paginação vai mudar tbpois é diferente de mysql pra access

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.