Ir para conteúdo

Arquivado

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

Ted k'

Paginação 1 2 [3] 4 5 6

Recommended Posts

Para o bem de todos segue a Paginação que funciona no MySQL, Testada e Aprovada

 

LEGENDAS:

TedkDados => RS

TedKBanco => Conn

TedkDados.Pagesize = 30 => Quantidade de linhas!

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

 

ASP
<table width="100%" border="0" cellspacing="2" cellpadding="0">

<tr>

  <td width="44%" height="30" bgcolor="#EBEBEB" class="classFonte01"> <strong>Nome</strong> </td>

  <td width="47%" bgcolor="#EBEBEB" class="classFonte01"> <strong>E-Mail</strong> </td>

</tr>

  <%

  TedkBanco.CursorLocation = 3

  Set TedkDados = Server.CreateObject("Adodb.RecordSet")

  TedkDados.Pagesize = 30

  TedkDados.Open "Select NomeNewsletterEMail, EMailNewsletterEMail From adminNewsletterEMail Order By NomeNewsletterEMail Asc",TedkBanco

 

  If TedkDados.Eof Then

  Response.Write("")

  Else

  PaginaAtual = CInt(Request.Querystring("Pages"))

 

  If PaginaAtual = 0 Then

  PaginaAtual = 1

  End If

 

  TedkDados.AbsolutePage = PaginaAtual

  Num = TedkDados.PageCount

 

  While Not TedkDados.Eof And TedkDados.AbsolutePage = PaginaAtual

  %>

<tr>

  <td height="22" bgcolor="#F7F7F7" class="classFonte01"> <% Response.Write(TedkDados("NomeNewsletterEMail")) %> </td>

  <td bgcolor="#F7F7F7" class="classFonte01"> <% Response.Write(TedkDados("EMailNewsletterEMail")) %> </td>

</tr>

  <%

  TedkDados.MoveNext : Wend

  Anterior = PaginaAtual - 1

  Proximo = PaginaAtual + 1

 

  If Anterior <= 0 Then

  Anterior = 1

  End If

 

  If Proximo > TedkDados.PageCount Then

  Proximo = TedkDados.PageCount

  End If

  %>

<tr>

  <td height="30" colspan="2" align="right" bgcolor="#EBEBEB" class="classFonte01"><strong>Paginas:</strong> <%

  Jo = 1

  While Jo <= TedkDados.PageCount

 

  If PaginaAtual = Jo Then

  Response.Write("["&Jo&"]  ")

  Else

  Response.Write("<a href=""Default.asp?Pages="&Jo&""" class=""classFonte01"" title=""Página "&Jo&""">"&Jo&"</a>  ")

  End If

  Jo = Jo + 1

  Wend

  End If

%></td>

</tr>

</table>

 

 

Aproveitem... 100% Testado no MySQL

Compartilhar este post


Link para o post
Compartilhar em outros sites

hehehe...

 

É cara, a galera está tendo muita dificuldades com paginação no MySQL, pelo menos facilita a vida deles e até minha quando eu esquecer (hehehehe)!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Pessoal,

 

Como eu faço para limitar a paginação neste caso até o número 10 e depois colocar um link para próxima e continuar navegando pela paginação?

 

Seria tipo assim: 1 2 3 4 5 6 7 8 9 10 Próxima

 

Quando clicar em próxima mostrar: Anterior 11 12 13 14 15 16 17 18 19 20 Próxima

 

Para o bem de todos segue a Paginação que funciona no MySQL, Testada e Aprovada

 

LEGENDAS:

TedkDados => RS

TedKBanco => Conn

TedkDados.Pagesize = 30 => Quantidade de linhas!

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

 

<!--asp--><div class='highlight_syntax_top'>ASP</div><div class='highlight_syntax_main'><!--asp1--><div class="asp"><table width="100%" border="0" cellspacing="2" cellpadding="0">

<tr>

  <td width="44%" height="30" bgcolor="#EBEBEB" class="classFonte01"> <strong>Nome</strong> </td>

  <td width="47%" bgcolor="#EBEBEB" class="classFonte01"> <strong>E-Mail</strong> </td>

</tr>

  <%

  TedkBanco.CursorLocation = 3

  Set TedkDados = Server.CreateObject("Adodb.RecordSet")

  TedkDados.Pagesize = 30

  TedkDados.Open "Select NomeNewsletterEMail, EMailNewsletterEMail From adminNewsletterEMail Order By NomeNewsletterEMail Asc",TedkBanco

 

  If TedkDados.Eof Then

  Response.Write("")

  Else

  PaginaAtual = CInt(Request.Querystring("Pages"))

 

  If PaginaAtual = 0 Then

  PaginaAtual = 1

  End If

 

  TedkDados.AbsolutePage = PaginaAtual

  Num = TedkDados.PageCount

 

  While Not TedkDados.Eof And TedkDados.AbsolutePage = PaginaAtual

  %>

<tr>

  <td height="22" bgcolor="#F7F7F7" class="classFonte01"> <% Response.Write(TedkDados("NomeNewsletterEMail")) %> </td>

  <td bgcolor="#F7F7F7" class="classFonte01"> <% Response.Write(TedkDados("EMailNewsletterEMail")) %> </td>

</tr>

  <%

  TedkDados.MoveNext : Wend

  Anterior = PaginaAtual - 1

  Proximo = PaginaAtual + 1

 

  If Anterior <= 0 Then

  Anterior = 1

  End If

 

  If Proximo > TedkDados.PageCount Then

  Proximo = TedkDados.PageCount

  End If

  %>

<tr>

  <td height="30" colspan="2" align="right" bgcolor="#EBEBEB" class="classFonte01"><strong>Paginas:</strong> <%

  Jo = 1

  While Jo <= TedkDados.PageCount

 

  If PaginaAtual = Jo Then

  Response.Write("["&Jo&]  ")

  Else

  Response.Write("<a href=""Default.asp?Pages="&Jo&""" class=""classFonte01"" title=""Página "&Jo&""">"&Jo&"</a>  ")

  End If

  Jo = Jo + 1

  Wend

  End If

%></td>

</tr>

</table></div><!--asp2--></div><!--asp3-->

 

 

Aproveitem... 100% Testado no MySQL

Compartilhar este post


Link para o post
Compartilhar em outros sites

faz uma condição com IF cara

 

caso o contador de páginas for maior que 10 você coloca uma seta ou os "três pontinhos". e por æ vai!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ted K' eu estou usando a sua paginação no projeto de um cliente meu... só que tem um problema com ela... tipo .. reparei que as veses falta um registro na listagem... e fui conferir isto a fundo... usei o recordcount para ver.. ele me retornou 106 registros encontrados... mas a sua paginação sói listou 105 .. porque isto ? me ajuda a axar o problema... abraço

 

ps: não mudei o seu código... apenas adaptei para o meu uso... como pode ver abaixo tambem fiz a listagem em colunas lado a lado...

 

 

<!-- #include file = "conecta.asp" -->
<!-- #include file = "conecta2.asp" -->
<%
Session.LCID=1046

'session("cat") = request.QueryString("cat")
'session("subgrupo") = request.QueryString("subgrupo")

session("cat") = 8
session("subgrupo") = 0

  TedkBanco.CursorLocation = 3
  Set TedkDados = Server.CreateObject("Adodb.RecordSet")
  TedkDados.Pagesize = 14


TedkDados.Open "SELECT * from imoveis_n where cod_grupo like '"&session("cat")&"' and cod_subgrupo like '"&session("subgrupo")&"'",TedkBanco


%>

<script>
function abre(id) {

posicao_x = (screen.width-780)/2;
posicao_y = (screen.height-550)/2;

window.open('visualiza.asp?id='+id+'','Visualizar','scrollbars=no,width=780,height=550,left='+posicao_x+',top='+posicao_y+'');
}
</script>

<style type="text/css">
<!--
body { scrollbar-face-color: #271B67; scrollbar-shadow-color: white; scrollbar-highlight-color: #271B67; scrollbar-3dlight-color: white; scrollbar-darkshadow-color: #271B67; scrollbar-track-color: #271B67; scrollbar-arrow-color: white;}
a:link {
	color: #FFFFFF;
	font-weight: bold;
}
a:visited {
	color: #FFFFFF;
	font-weight: bold;
}
.style2 {
	color: #FFFFFF;
	font-size: 13px;
}
.style4 {font-family: Arial, Helvetica, sans-serif}
.style6 {font-family: Arial, Helvetica, sans-serif; font-size: 13px; color: #333333; }
.style8 {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 13px;
	color: #000000;
}
.style9 {
	color: #FFFFFF;
	font-size: 14px;
}
.style10 {font-size: 12px}
.style11 {font-family: Arial, Helvetica, sans-serif; font-size: 12px; color: #333333; }
-->
</style>

<body background="fundo_pag2.jpg" bgproperties="fixed" topmargin="0" leftmargin="0" bottommargin="0" rightmargin="0">

<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
	<td bgcolor="#271B67" scope="col">
	
	  <div align="center"><span class="style2">  <strong>   <span class="style4">Ortec - Deste 1973 servindo você! </span></strong></span> </div></td>
  </tr>
</table>


<table cellspacing="20" border=0 width=100%> 
<tr> 
<% Dim contador 
   contador = 1 
   maxcol = 4	'<------------------ numero de registros por linha
   
   
   
  If TedkDados.Eof Then
  Response.Write("")
  Else
  PaginaAtual = CInt(Request.Querystring("Pages"))

  If PaginaAtual = 0 Then
  PaginaAtual = 1 
  End If

  TedkDados.AbsolutePage = PaginaAtual
  Num = TedkDados.PageCount

response.Write(TedkDados.RecordCount)  
  While Not TedkDados.Eof And TedkDados.AbsolutePage = PaginaAtual


   'COMEÇA O LOOP DE IMÓVEIS ENCOTNRADOS
'do while not rs_departamentos.eof
   '------------------------------------
   
   
   
	if contador <= maxcol then %> 
  <td style="BORDER-RIGHT: #ededed 1px solid; BORDER-TOP: #ededed 1px solid; FONT-SIZE: 12px; FLOAT: left; MARGIN: 10px; BORDER-LEFT: #ededed 1px solid; BORDER-BOTTOM: #ededed 1px solid;"> 
<center>

<%
if TedkDados("des_grupo") = "Salão Comercial" then

desc = "Sal. Com."

elseif TedkDados("des_grupo") = "Oportunidades" then

desc = "Oport."

elseif TedkDados("des_grupo") <> "Oportunidades" or TedkDados("des_grupo") <> "Salão Comercial" then

desc = TedkDados("des_grupo")

End if
%>

  <TABLE width=150 align=center border=0>
	<TBODY>
	  <TR>
		<TD height=110 colspan="2" align=middle vAlign=center><div align="center"><img src="imagens<%=TedkDados("imagem")%>" width="140" height="105" style="cursor:hand" onClick="java script:abre(<%=TedkDados("id")%>)" /></div></TD>
	  </TR>
	  <TR>
		<th align=middle><div align="center" class="style6 style10"><%=desc%></div></th>
		<th align=middle><div align="center" class="style11">cod: <%=TedkDados("codigo")%></div></th>
	  </TR>
	  <TR>
		<TD align=middle><div align="center" class="style11"><%=TedkDados("des_subgrupo")%></div></TD>
		<TD align=middle><div align="center" class="style11"><%=FormatCurrency(TedkDados("valor"))%></div></TD>
	  </TR>
	</TBODY>
  </TABLE>
</center>  </td> 
   
  <% 
	  contador = contador + 1 
	else %> 
</tr> 
<tr> 
  <% 
	  contador = 1 
	end if 
	
	
	
	'DOU A VOLTA NO LOOP
'rs_departamentos.movenext 
'loop 
	'-------------------
  TedkDados.MoveNext : Wend
  Anterior = PaginaAtual - 1
  Proximo = PaginaAtual + 1

  If Anterior <= 0 Then
  Anterior = 1
  End If

  If Proximo > TedkDados.PageCount Then
  Proximo = TedkDados.PageCount
  End If
	
	
 
 
'completa as colunas 
do while contador <= maxcol %> 
  <td>   </td> 
<%  contador = contador + 1 
loop %> 
</tr> 
</table>

<div align="right"><span class="style8"><br>
  </span>
  <table width="100%" border="0" cellspacing="0" cellpadding="0">
	<tr>
	  <th bgcolor="#271B67" scope="col"><div align="right" class="style9">
		<div align="center"><span class="style4">Resultados: 
		  <%
  Jo = 1
  While Jo <= TedkDados.PageCount 

  If PaginaAtual = Jo Then
  Response.Write("["&Jo&"]  ")
  Else
  Response.Write("<a href=""lista.asp?Pages="&Jo&"&cat="&session("cat")&"&subgrupo="&session("subgrupo")&""" title=""Página "&Jo&""">"&Jo&"</a>  ")
  End If
  Jo = Jo + 1 
  Wend
  End If
%>
		  </span></div>
	  </div></th>
	</tr>
  </table>
  <span class="style8"><br>
</span></div>
</body>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Provavelmente. Só informar a conexão com Access ao invés da conexão com MySQL.

Compartilhar este post


Link para o post
Compartilhar em outros sites

exato hargon, só coloquei no sub-titulo que funciona do MySQL, por que tinha usuários a procura desse tipo de paginação para esse banco!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá a todos !

 

Tedk´s

 

Vi o seu script e peguei ele para usar aqui mas está dando erro no CursorLocation

 

Tipo de erro:

Erro de tempo de execução do Microsoft VBScript (0x800A01A8)

Objeto necessário: ''

 

O q pode ser?

a unica coisa q fiz de diferente foi colocar o include com o caminho para a conexao

Compartilhar este post


Link para o post
Compartilhar em outros sites

TED!

 

Consegue me mostrar alí no seu codigo com a variavel JO, como faço o IF para mostrar de 10 em 10 registros????

 

Faz alguma coisa simples, só com < ... .... >

 

Depois em melhoro aqui.

 

 

Poderia me ajudar aí, pois quero aprender a fazer com 10 em 10 registros.

 

 

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom Dia !

 

Ted, desculpa a demora, segue abaixo o q fiz:

 

CODE
<!--#include file="../connect.asp"-->

 

<table width="100%" border="0" cellspacing="2" cellpadding="0">

<tr>

<td width="44%" height="30" bgcolor="#EBEBEB" class="classFonte01"> <strong>Nome</strong> </td>

<td width="47%" bgcolor="#EBEBEB" class="classFonte01"> <strong>E-Mail</strong> </td>

</tr>

<%

rs.CursorLocation = 3

Set rs = Server.CreateObject("Adodb.RecordSet")

rs.Pagesize = 30

rs.Open "Select * From menu Order By Titulo Asc",rs

 

If rs.Eof Then

Response.Write("")

Else

PaginaAtual = CInt(Request.Querystring("Pages"))

 

If PaginaAtual = 0 Then

PaginaAtual = 1

End If

 

rs.AbsolutePage = PaginaAtual

Num = rs.PageCount

 

While Not rs.Eof And rs.AbsolutePage = PaginaAtual

%>

<tr>

<td height="22" bgcolor="#F7F7F7" class="classFonte01"> <% Response.Write(rs("Titulo")) %> </td>

<td bgcolor="#F7F7F7" class="classFonte01"> <% Response.Write(ra("secao")) %> </td>

</tr>

<%

rs.MoveNext : Wend

Anterior = PaginaAtual - 1

Proximo = PaginaAtual + 1

 

If Anterior <= 0 Then

Anterior = 1

End If

 

If Proximo > rs.PageCount Then

Proximo = rs.PageCount

End If

%>

<tr>

<td height="30" colspan="2" align="right" bgcolor="#EBEBEB" class="classFonte01"><strong>Paginas:</strong> <%

Jo = 1

While Jo <= rs.PageCount

 

If PaginaAtual = Jo Then

Response.Write("["&Jo&"]  ")

Else

Response.Write("<a href=""consmenu.asp?Pages="&Jo&""" class=""classFonte01"" title=""Página "&Jo&""">"&Jo&"</a>  ")

End If

Jo = Jo + 1

Wend

End If

'end if

%>

</td>

</tr>

</table>

 

o connect.asp:

 

CODE
<%

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

strconexao = "driver={MySQL ODBC 5.1 Driver};server=127.0.0.1;uid=root;pwd=mac6545;database=gradetv"

conexao.Open strconexao

 

%>

 

o erro :

 

Tipo de erro:

Erro de tempo de execução do Microsoft VBScript (0x800A01A8)

Objeto necessário: ''

/teste/filmes/adm/consmenu.asp, line 9

 

 

a linha 9 :

 

rs.CursorLocation = 3

 

se comento a linha 9, da erro na linha 12 :

 

Tipo de erro:

ADODB.Recordset (0x800A0BB9)

Os argumentos são incorretos, estão fora do intervalo aceitável ou estão em conflito.

/teste/filmes/adm/consmenu.asp, line 12

 

 

a linha 12:

 

rs.Open "Select * From menu Order By titulo Asc",rs

 

onde posso ter errado ?

 

Abraços,

Vinicius Ianni

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha essa linha

 

rs.Open "Select * From menu Order By Titulo Asc",rs

olha a minha linha:

TedkDados.Open "Select NomeNewsletterEMail, EMailNewsletterEMail From adminNewsletterEMail Order By NomeNewsletterEMail Asc",TedkBanco

repare o "TedkBanco", isso faz a conexão com o banco, e você colocou um recordset "rs", troque seu último "rs" por "strconexao"

 

rs.Open "Select * From menu Order By Titulo Asc",strconexao

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fazendo assim ted, dá este erro :

 

Tipo de erro:

ADODB.Recordset (0x800A0CB3)

O conjunto de registros atual não oferece suporte para indicadores. Isso pode ser uma limitação do provedor ou do tipo de cursor selecionado.

/teste/filmes/adm/consmenu.asp, line 23

 

 

sendo a linha 23 isto:

rs.AbsolutePage = PaginaAtual

 

O rs.CursorLocation = 3 está comentado, tirando o comentário dá este erro:

 

Tipo de erro:

Erro de tempo de execução do Microsoft VBScript (0x800A01A8)

Objeto necessário: ''

/teste/filmes/adm/consmenu.asp, line 9

 

acho q estou andando em circulos....

 

Abraços,

Vinicius Ianni

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá tedK, usei seu cod também a estou com esse mesmo problema do 'Reginaldo' minha lista acusa 29 mas a paginação mostra 28, e não mostra outro grupo com o 1 faltando.

 

pode me ajudar? o cod é o mesmo não sei se vc já atualizou.

 

me responder por favor.

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

verifique se o pagesize e o absolutepage estão corretos

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.