Jump to content


Photo

Paginação


  • Faça o login para participar
12 replies to this topic

#1 koal40

koal40

    agora em PHP tbm

  • Usuários
  • 216 posts
  • Sexo:Não informado

Posted 07/07/2005, 14:23

quero fazer como está no subtitulo, ... 7 8 [9] 10 11 ...
jah tenho todo codigo porém não consigo deixar somente 5 numeros a mostra...

ai vai o codigo dos numeros

For i = 1 To rl.PageCount
If i = cint(pag) Then
Response.Write " ["&i&"] "
Else
Response.Write " <a href='" & request.servervariables("script_name") &"?p=" & i & "'>" & i & "</a> "
End If
Next

como faço?
jah busquei e quebrei a cabeça...
Ultilize a busca antes de postar
e edite respostas não poste d novo...

(sempre q possivel claro)
------------ Conhecimento ----------
HTML ...... ||||||||||
JSP e JS .. ||||||||||
.NET ....... ||||||||||
ASP ........ ||||||||||
PHP ........ ||||||||||
Ourtos .... ||||||||||

#2 listeylor

listeylor

    Turista

  • Usuários
  • 40 posts
  • Sexo:Não informado

Posted 07/07/2005, 15:53

For i = 1 To rl.PageCount AND i = 5
If i = cint(pag) Then
Response.Write " ["&i&"] "
Else
Response.Write " <a href='" & request.servervariables("script_name") &"?p=" & i & "'>" & i & "</a> "
End If
Next

Ve se pega.
[ƒë£¡Þë ðö ©öµ†ö ƒ®äñ¢ö][FONT=Courier][SIZE=7][COLOR=blue]

#3 edmais

edmais

    Just do it!

  • Usuários
  • 797 posts
  • Sexo:Não informado
  • Localidade:BH - MG

Posted 07/07/2005, 16:16

Look this:

<%
'Aqui deve vir a página atual em que se está..
pagina = 3

'Não altere daqui pra baixo
xpag = pagina
if xpag < 5 Then
	xpag = 5
End if
contador = xpag + 1
xprimeira = contador - 5
if xprimeira < 1 Then
	xprimeira = 1
End if
contador2 = 5
if contador > 5 Then
	contador2 = contador - 1
End If
For i = xprimeira to contador
	if i = pagina Then
  If i <> xprimeira Then
 	 Response.Write("&nbsp;|&nbsp;<b>[" & i & "]</b>")
  Else
 	 Response.Write("<b>[" & i & "]</b>")
  End if
	Else
  If i <> xprimeira Then
 	 Response.Write("&nbsp;|&nbsp;" & i)
  Else
 	 Response.Write(i)
  End if
	End if
	if i = contador2 Then
  Exit For
	End if
Next
%>

Eduardo Batista

#4 koal40

koal40

    agora em PHP tbm

  • Usuários
  • 216 posts
  • Sexo:Não informado

Posted 07/07/2005, 16:47

edmais: funfo... porem... ele fica assim: pagina atual: 8

... 4 5 6 7 [8] ...
eu queria assim:
... 6 7 [8] 9 10 ...
tem como?

Edição feita por: koal40, 07/07/2005, 16:53.

Ultilize a busca antes de postar
e edite respostas não poste d novo...

(sempre q possivel claro)
------------ Conhecimento ----------
HTML ...... ||||||||||
JSP e JS .. ||||||||||
.NET ....... ||||||||||
ASP ........ ||||||||||
PHP ........ ||||||||||
Ourtos .... ||||||||||

#5 edmais

edmais

    Just do it!

  • Usuários
  • 797 posts
  • Sexo:Não informado
  • Localidade:BH - MG

Posted 07/07/2005, 17:25

Sim, claro.

<%
'Aqui deve vir a página atual em que se está..
pagina = 10

xprimeira = pagina / 5

if Abs(xprimeira) > Abs(Fix(xprimeira)) Then
	xprimeira = Fix(xprimeira) + 1
End if
xprimeira = Fix(xprimeira) * 5 - 4

xultima = xprimeira + 4

For i = xprimeira to xultima
	if i = pagina Then
  If i <> xprimeira Then
  	Response.Write("&nbsp;|&nbsp;<b>[" & i & "]</b>")
  Else
  	Response.Write("<b>[" & i & "]</b>")
  End if
	Else
  If i <> xprimeira Then
  	Response.Write("&nbsp;|&nbsp;" & i)
  Else
  	Response.Write(i)
  End if
	End if
Next
%>

Eduardo Batista

#6 koal40

koal40

    agora em PHP tbm

  • Usuários
  • 216 posts
  • Sexo:Não informado

Posted 07/07/2005, 18:20

:blink: foi quase..... aki vai o problema:

paginas 1 ate 5:... 1 2 3 4 5 ...
paginas 6 ate 10: ... 6 7 8 9 10 ...

está indo de 5 em 5....

tem como fazer assim:

pagina 1: [1] 2 3 4 5...
pagina 2: 1 [2] 3 4 5...
pagina 3: 1 2 [3] 4 5...
pagina 4: ... 2 3 [4] 5 6 ...
pagina 5: ... 3 4 [5] 6 7 ...

??? :blink:
Ultilize a busca antes de postar
e edite respostas não poste d novo...

(sempre q possivel claro)
------------ Conhecimento ----------
HTML ...... ||||||||||
JSP e JS .. ||||||||||
.NET ....... ||||||||||
ASP ........ ||||||||||
PHP ........ ||||||||||
Ourtos .... ||||||||||

#7 amgnatureza

amgnatureza

    |O.o|

  • Usuários
  • 269 posts
  • Sexo:Não informado
  • Localidade:SP - interior
  • Interesses:ASP

Posted 07/07/2005, 19:15

Alguem em alguma idéia?

Edição feita por: amgnatureza, 07/07/2005, 19:29.


#8 edmais

edmais

    Just do it!

  • Usuários
  • 797 posts
  • Sexo:Não informado
  • Localidade:BH - MG

Posted 08/07/2005, 09:33

Sim, dá pra fazer tudo que você imaginar, basta quebrar a cabeça um pouco.

'Aqui deve vir a página atual em que se está..
pagina = 13

numero = pagina - 5

if numero < -1 Then
	xprimeira = 1
Else
	if numero = - 1 then
  xprimeira = 2
	elseif numero = 0 then
  xprimeira = 3
	else
  xprimeira = numero + 3
	end if
end if

For i = xprimeira to xprimeira + 4
	if i = pagina Then
  If i <> xprimeira Then
 	 Response.Write("&nbsp;|&nbsp;<b>[" & i & "]</b>")
  Else
 	 if i > 1 Then
    Response.Write("<b>... [" & i & "]</b>")
 	 Else
    Response.Write("<b>[" & i & "]</b>")
 	 End If
  End if
	Else
  If i <> xprimeira Then
 	 Response.Write("&nbsp;|&nbsp;" & i)
  Else
 	 if i > 1 Then
    Response.Write("..." & i)
 	 Else
    Response.Write(i)
 	 End If
  End if
	End if
Next
%>

Isso tudo ficou em 55 reais, ok?

brincadeira,

Abs.
Eduardo Batista

#9 koal40

koal40

    agora em PHP tbm

  • Usuários
  • 216 posts
  • Sexo:Não informado

Posted 08/07/2005, 11:14

:lol: :lol: :D :D PERFEITO! mto obrigado, ficou otimo!
--------------------------
editado
--------------------------
aparece duas paginas a mais... uq sera?
aperece as duas para a ultima pagina ficar no meio....

obs: não consigo deixar a pagina atual sem link em negrito....

Edição feita por: koal40, 08/07/2005, 12:38.

Ultilize a busca antes de postar
e edite respostas não poste d novo...

(sempre q possivel claro)
------------ Conhecimento ----------
HTML ...... ||||||||||
JSP e JS .. ||||||||||
.NET ....... ||||||||||
ASP ........ ||||||||||
PHP ........ ||||||||||
Ourtos .... ||||||||||

#10 edmais

edmais

    Just do it!

  • Usuários
  • 797 posts
  • Sexo:Não informado
  • Localidade:BH - MG

Posted 08/07/2005, 14:32

aparece duas paginas a mais... uq sera?
aperece as duas para a ultima pagina ficar no meio....


Não entendi.



Código sem negrito:

'Aqui deve vir a página atual em que se está..
pagina = 13

numero = pagina - 5

if numero < -1 Then
xprimeira = 1
Else
if numero = - 1 then
 xprimeira = 2
elseif numero = 0 then
 xprimeira = 3
else
 xprimeira = numero + 3
end if
end if

For i = xprimeira to xprimeira + 4
if i = pagina Then
 If i <> xprimeira Then
  Response.Write("&nbsp;|&nbsp;<b>[" & i & "]</b>")
 Else
  if i > 1 Then
   Response.Write("... [" & i & "]")
  Else
   Response.Write("[" & i & "]")
  End If
 End if
Else
 If i <> xprimeira Then
  Response.Write("&nbsp;|&nbsp;" & i)
 Else
  if i > 1 Then
   Response.Write("..." & i)
  Else
   Response.Write(i)
  End If
 End if
End if
Next
%>


[]'s
Eduardo Batista

#11 koal40

koal40

    agora em PHP tbm

  • Usuários
  • 216 posts
  • Sexo:Não informado

Posted 08/07/2005, 14:36

assim: tenho 7 paginas

na pagina nº 7 fica assim:

... 5 6 7 8 9 ...
as paginas 8 e 9 não existem... soh estão ai para q o numero 7 fique centralizado...
Ultilize a busca antes de postar
e edite respostas não poste d novo...

(sempre q possivel claro)
------------ Conhecimento ----------
HTML ...... ||||||||||
JSP e JS .. ||||||||||
.NET ....... ||||||||||
ASP ........ ||||||||||
PHP ........ ||||||||||
Ourtos .... ||||||||||

#12 edmais

edmais

    Just do it!

  • Usuários
  • 797 posts
  • Sexo:Não informado
  • Localidade:BH - MG

Posted 08/07/2005, 15:02

Uai irmãozinho, você tem que trabalhar de acordo com os dados do seu BD né...

<%
'Aqui deve vir a página atual em que se está..
TotalPaginas = 14
pagina = 13

numero = pagina - 5

if numero < -1 Then
	xprimeira = 1
Else
	if numero = - 1 then
  xprimeira = 2
	elseif numero = 0 then
  xprimeira = 3
	else
  xprimeira = numero + 3
	end if
end if

If xprimeira + 4 > TotalPaginas Then
	xultima = TotalPaginas
Else
	xultima = xprimeira + 4
End if

For i = xprimeira to xultima
	if i = pagina Then
  If i <> xprimeira Then
  	Response.Write("&nbsp;|&nbsp;<b>[" & i & "]</b>")
  Else
  	if i > 1 Then
    Response.Write("<b>... [" & i & "]</b>")
  	Else
    Response.Write("<b>[" & i & "]</b>")
  	End If
  End if
	Else
  If i <> xprimeira Then
  	Response.Write("&nbsp;|&nbsp;" & i)
  Else
  	if i > 1 Then
    Response.Write("..." & i)
  	Else
    Response.Write(i)
  	End If
  End if
	End if
Next
%>

Onde a variavel TotalPaginas Vai ser o total de paginas.. como saber o total de paginas?

Pega o recordcount do Recordset e divide pela quantidade de registros a serem mostrados por página.
Eduardo Batista

#13 koal40

koal40

    agora em PHP tbm

  • Usuários
  • 216 posts
  • Sexo:Não informado

Posted 08/07/2005, 21:06

ultima coisa acho... e espero.....
ele não identifica se i = pagina atual

então a pagina atual não fika em negrito... to tentando aqui também....

--------------------------------------------------
editado
--------------------------------------------------
aew vlw pela ajuda consegui e ficou perfeito... ficou assim:


<%
response.Write("("&rl.pagecount&")&nbsp;&nbsp;")
if not rl.bof then
If cint(pag) = 1 Then
response.Write("")
else
if cint(pag) > 3 then
response.Write("<a href='" & request.servervariables("script_name") &"?p=" & 1 & "'><< Primeira</a> ... ")
end if
end if
cont = 1
TotalPaginas = rl.pagecount
numero = pag - 5
if numero < -1 Then
xprimeira = 1
Else
if numero = - 1 then
xprimeira = 2
elseif numero = 0 then
xprimeira = 3
else
xprimeira = numero + 3
end if
end if
If xprimeira + 4 > TotalPaginas Then
xultima = TotalPaginas
ElseIf xprimeira + 3 > TotalPaginas Then
xultima = xprimeira + 2
else
xultima = xprimeira + 4
End if
if cint(pag+1) = cint(TotalPaginas) then
xprimeira = xprimeira-1
if xprimeira < 1 then
xprimeira = xprimeira+1
end if
end if
if pag = trim(TotalPaginas) then
xprimeira = xprimeira-2
if xprimeira < 1 then
xprimeira = abs(abs(trim(TotalPaginas))/abs(trim(TotalPaginas)))
end if
else
xprimeira = xprimeira
end if
For i = xprimeira to xultima
if trim(pag) = trim(i) Then
If trim(i) <> trim(xprimeira) Then
  Response.Write("&nbsp;|&nbsp;<b>["&i&"]</b>")
Else
  if trim(i) > 1 Then
  Response.Write("&nbsp;|&nbsp;<b>["&i&"]</b>")
  Else
  Response.Write("&nbsp;&nbsp;<b>["&i&"]</b>")
  End If
End if
Else
If trim(i) <> trim(xprimeira) Then
  Response.Write("&nbsp;|&nbsp;<a href='"& request.ServerVariables("SCRIPT_NAME")&"?p="& i&"'>"&i&"</a>")
Else
  if trim(i) > 1 Then
  Response.Write("&nbsp;&nbsp;<a href='"& request.ServerVariables("SCRIPT_NAME")&"?p="& i&"'>"&i&"</a>")
  Else
  Response.Write("&nbsp;&nbsp;<a href='"& request.ServerVariables("SCRIPT_NAME")&"?p="& i&"'>"&i&"</a>")
  End If
End if
End if
Next
If rl.eof Then
response.Write("")
else
if cint(pag) < abs(abs(rl.pagecount)-abs(2)) then
response.Write("... <a href='" & request.servervariables("script_name") &"?p="& rl.pagecount &"'>Última >></a> ")
end if
end if
end if  %>


Edição feita por: koal40, 10/07/2005, 11:25.

Ultilize a busca antes de postar
e edite respostas não poste d novo...

(sempre q possivel claro)
------------ Conhecimento ----------
HTML ...... ||||||||||
JSP e JS .. ||||||||||
.NET ....... ||||||||||
ASP ........ ||||||||||
PHP ........ ||||||||||
Ourtos .... ||||||||||




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq