Ir para conteúdo

POWERED BY:

Arquivado

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

Vinícius Siller

[Resolvido] Paginação ASP+MySql

Recommended Posts

Sinceramente Ted K', eu não entendo porque o pessoal vê isso como gambiarra(POG). Sinto também um ar de repúdio com relação às POG's.

Existe outro modo para fazer isso? Se não, porque seria gambiarra? Não ocorreram erros!

Não considero isso como gambiarra. Não seria a "descoberta" de um novo modo?

 

Eu tenho uma paginação parecida com essa que você fez, com o código um pouco diferente que funciona perfeitamente em todos os casos porém não adiciona os três pontinhos como a sua, mas isso é mole.

 

O seu código funcionou perfeitamente aqui em localhost, mas creio que funciona perfeitamente em qualquer sistema e em qualquer servidor.

Já vi tanta conversa fiada sobre paginação para MySql, etc e tal, mas nunca apresentaram nada que atendesse de fato, como essa que você montou.

O que falta ainda em seu código, é desativar(não é ocultar) os links de ‹ primeira « anterior próxima » última › quando não utilizados.

 

Mandou bem! http://forum.imasters.com.br/public/style_emoticons/default/clap.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

para desativar é só inibir o codigo é besteira

 

e falo que fiz um POG, esse é um POG pq necessariamente não parei para estudar o código, fiz brutalmente, naquele lance de correria e não há paginação com POG e sim cada programador faz seus códigos do jeito que bem entendem, fique tranquilo, quando falei POG significa que não estudei os codigos mais funcionou pq POG foi feito para funcionar hehehe!!

 

feliz festa cara!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estou tranquilo, eu entendi, mas o que me deixa revoltado (não com você que é um adepto ahah) são as pessoas que nos dirigem a palavra de forma pejorativa, quando inventamos um jeito de fazer as coisas, principalmente as POG's.

Sou à favor das POG's desde que elas funcionem sem limitações.

Afinal, as POG's superam até o famoso jeitinho brasileiro.

 

Boas festas à todos ae! http://forum.imasters.com.br/public/style_emoticons/default/worshippy.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

já que gosta tanto de POG igual a mim, junte-se ao tópico que criei hehe!

http://forum.imasters.com.br/index.php?showtopic=289783

Compartilhar este post


Link para o post
Compartilhar em outros sites

Paginação com ASP e MySQL:

 

Exemplo: Veja online

Imagem Postada

 

Como paginação cada um monta do jeito que acha melhor, peguei o código montado pelo Ted K' e fiz algumas modificações:

<%
Dim Conexao
Set Conexao = Server.CreateObject("Adodb.Connection")
Conexao.ConnectionString = "driver=MySQL ODBC 5.1 Driver;server=localhost;uid=root;pwd=;database=seu_banco"
Conexao.Open
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Paginação com ASP e MySQL</title>
</head>

<style media="screen" type="text/css">
body{width:100%; height:100%;margin:0; padding:0; font:12px "Trebuchet MS";margin:0 auto; text-align:center;}
#quadro{background:#f7f7f7; width:540px; min-height:300px; margin:0 auto; padding:5px; text-align:left;}
#col-01{width:20px; float:left;background:#f1f1f1;margin:2px;text-align:center;padding:2px;}
#col-02{width:500px; float:left;background:#f1f1f1;margin:2px;padding:2px;}
#indice{text-align:center; padding: 20px 0 0 0}
#paginacao{text-align:center; padding: 20px 0 0 0}

.pag-atual{float:left; padding:4px; background:#c00; color:#fff; margin:3px;}
.pag-pontinhos{float:left; padding:4px; background:#E8E8E8; color:#999; margin:3px;}
.pag-navegacao-off{float:left; padding:4px; background:#E8E8E8; color:#999; margin:3px;}

.pag-link{float:left; padding:4px; background:#fff; margin:3px;}
.pag-link a{color:#c00;text-decoration:none;}
.pag-link a:hover{color:#000;text-decoration:underline;}

.pag-navegacao{float:left; padding:4px; background:#fff; margin:3px;}
.pag-navegacao a{color:#c00;text-decoration:none;}
.pag-navegacao a:hover{color:#000;text-decoration:underline;}
</style>

<body>

<div id="quadro">

<h2>Paginação com ASP e MySQL</h2>

<%
Dim rs, PagNav, TotalPag
Dim Anterior, Proximo, PagAtual, PaginaVisita
Set rs = Server.CreateObject("Adodb.RecordSet")
	
Conexao.CursorLocation = 3
rs.pagesize = 3
rs.Open "Select * From tbl_noticias Order By id_not Desc",Conexao
	
If rs.Eof Then
Response.Write("Não há registros")
Else
PagNav = CInt(Request.QueryString("pagina"))
If PagNav = 0 Then : PagNav = 1 : End If
	
rs.AbsolutePage = PagNav
TotalPag = rs.PageCount
%>

<div id="dados">

<% While Not rs.Eof And rs.AbsolutePage = PagNav %>

<div id="col-01"><% Response.Write(rs("id_not")) %></div>
<div id="col-02"><% Response.Write(rs("titulo_not")) %></div>

<%
rs.MoveNext : Wend

Anterior = PagNav - 1
Proximo = PagNav + 1

If Anterior <= 0 Then : Anterior = 1 : End If
If Proximo > TotalPag Then : Proximo = TotalPag : End If
%>

</div>

<div id="indice">
<%
If Request.QueryString("pagina") = "" Then
Response.Write("Página 1 de "&TotalPag&"")
Else
Response.Write("Página "&Request.QueryString("pagina")&" de "&TotalPag&"")
End If 
%>
</div>   
		
		
<div id="paginacao">
		
<%
PaginaVisita = CInt(Request.QueryString("pagina"))

MontaLink = Request.ServerVariables("SCRIPT_NAME")+"?variavel=teste&"

If PagNav = 1 Then
Response.Write("<div class='pag-navegacao-off'> « primeira </div>")
else
Response.Write("<div class='pag-navegacao'><a href="""&MontaLink&"pagina=1""> « primeira </a></div>")
end if

If PagNav > 1 Then
Response.Write("<div class='pag-navegacao'><a href="""&MontaLink&"pagina="&Anterior&"""> «anterior </a></div>")
else
Response.Write("<div class='pag-navegacao-off'> «anterior </div>")
End If

 
If PagNav > 5 Then
Response.Write("<div class='pag-pontinhos'> ... </div>")
End If


If PagNav <= 5 Then
If TotalPag >= 5 Then
For PagAtual = 1 To 5
If PagNav = PagAtual Then
Response.Write("<div class='pag-atual'> "&PagAtual&" </div>")
Else
Response.Write("<div class='pag-link'><a href="""&MontaLink&"pagina="&PagAtual&"""> "&PagAtual&" </a></div>")
End If
Next
Else

For PagAtual = 1 To TotalPag
If PagNav = PagAtual Then
Response.Write("<div class='pag-atual'> "&PagAtual&" </div>")
Else
Response.Write("<div class='pag-link'><a href="""&MontaLink&"pagina="&PagAtual&"""> "&PagAtual&" </a></div>")
End If
Next
End If
End If
		
	 
If PagNav > 5 Then
PagNav = PagNav + 4
Pg = PagNav
MaxB = Request.QueryString("pagina") - 1

			
If (MaxB + 1) = TotalPag Then
For PagAtual = MaxB To Pg - 4
If PaginaVisita = PagAtual Then
Response.Write("<div class='pag-atual'> "&PagAtual&" </div>")
Else
Response.Write("<div class='pag-link'><a href="""&MontaLink&"pagina="&PagAtual&"""> "&PagAtual&" </a></div>")
End If
Next			


ElseIf (MaxB + 2) = TotalPag Then
For PagAtual = MaxB To Pg - 3
If PaginaVisita = PagAtual Then
Response.Write("<div class='pag-atual'> "&PagAtual&" </div>")
Else
Response.Write("<div class='pag-link'><a href="""&MontaLink&"pagina="&PagAtual&"""> "&PagAtual&" </a></div>")
End If
Next
Else


For PagAtual = (MaxB - 1) To Pg - 2
If PaginaVisita = PagAtual Then
Response.Write("<div class='pag-atual'> "&PagAtual&" </div>")
Else
Response.Write("<div class='pag-link'><a href="""&MontaLink&"pagina="&PagAtual&"""> "&PagAtual&" </a></div>")
End If
Next
End If
End If

		
If (TotalPag <> PaginaVisita) And (TotalPag > 5) Then
Response.Write("<div class='pag-pontinhos'> ... </div>")
End If


If PaginaVisita = TotalPag Then 
Response.Write("<div class='pag-navegacao-off'> próxima» </div>")
else 
Response.Write("<div class='pag-navegacao'><a href="""&MontaLink&"pagina="&Proximo&"""> próxima» </a></div>")End If

If PaginaVisita = TotalPag Then
Response.Write("<div class='pag-navegacao-off'> última » </div>")
else
Response.Write("<div class='pag-navegacao'><a href="""&MontaLink&"pagina="&TotalPag&"""> última » </a></div>")
end if

%>

</div>

<%
End If
Set rs = Nothing
%>

</div>

</body>
</html>
Código testando e aprovado 100%

Se alguém quiser melhorar fique à vontade. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

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.