Ir para conteúdo

Arquivado

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

G10

[Resolvido] Paginação ASP + MYSQL

Recommended Posts

Bom dia amigos, estou com um problema ao utilizar uma paginação que funcionava no access ,

após migrar o sistema para Mysql, detectei que o problema é com a instrução "absolutepage"

que não é compátivel com o MySql !

 

ja tentei fazer algumas adaptações mais nao deu certo, nao estou consiguindo fazer de outra forma a paginação, gostaria que me ajudassem a alterar o modo de paginação,

vou posta o código inteiro da página :

 


<%
  if not session("status") = "ok" then
     response.redirect("login.asp?erro=negado")
  else
%>

<!--#include file="html.asp"-->
<title><%=tituloSite%> - Notícias</title>
<script>
<!--
	function confirmarArtigo()
	{
	var agree=confirm('Deseja apagar esta notícia?');
	if (agree)
		return true ;
	else
		return false ;
	}
-->
</script>
<!--#include file="header.asp"-->
<!--#include file="htmlClose.asp"-->
<body class="bodySistema">
   <div id="tudo">
       <div id="conteudo">
           <div id="header">
		<%

		If session("paginaArtigos") = "0" Then 
		  	Response.redirect "index.asp"
		  	Response.End
		End If

		%>
           	<div id="logo">
               	<a href="index.asp" ><img src="../imagens/logo.png" border="0" /></a>
               </div>
               <div id="menuSistema">
				<!--#include file="controleSistema.asp"-->
				<div id="tabsMenu">
					<!--#include file="menu.asp"-->
				</div>
               </div>
		</div>
		<div id="luzTopo">
			 
		</div>
           <div id="info">
               <div id="barraTituloSistema">
				<div id="icone"><img src="../imagens/iconeArtigo.png" border="0" /></div>
			<%
				categoriaArtigo = request.querystring("categoria")
			%>
				<div id="tituloSistema">
					<a href="inserirArtigo.asp?categoria=<%=categoriaArtigo%>" title="Inserir"><img src="imagens/botaoInserir.png" border="0" alt="Inserir" align="absmiddle" /></a> notícias » inserir notícia
				</div>
			</div>
			<a href="artigos.asp" class="voltar">« voltar</a>
			<br><br>
			<%	
				Dim Con, rs
			    set Con = server.CreateObject("ADODB.Connection")
				con.open "DSN=Dados"
				pag = request.QueryString("p")
				sql="select * from artigos where categoria='"& categoriaArtigo &"' order by data DESC"
				set rs = server.CreateObject("ADODB.RecordSet")
				if pag = "" then
				pag = 1
				end if


				rs.pagesize = 4
				rs.open sql, con, 3, 3

				if rs.eof then
					response.write "Não há notícias cadastradas nesta categoria."
				else

				'rs.absolutepage = pag
				contador = 0


				Response.Write "Página(s): "

				For i = 1 To rs.PageCount
				If i = cint(pag) Then
				Response.Write "<span style='padding-left:5px; padding-right:5px; margin-left:5px; margin-right:5px; border:1px solid #cccccc'>" & i & "</span>"
				Else
				Response.Write "<a href='" & request.servervariables("script_name") &"?categoria="& categoriaArtigo &"&p=" & i & "' style='color:#004f9a; padding:2px' >" & i & "</a> "

				End If
				Next

				Response.Write "<br><br>"


				while not rs.eof and contador < rs.pagesize
				contador = contador +1 

				categoria = rs("categoria")
				data = rs("data")
				id = rs("ID")
				titulo = rs("titulo")
				id = rs("ID")
				foto = rs("foto")
				'materia1 = rs("materia")
				linkData = "<a href='artigoDetalhe.asp?id=" & id & "&categoria="& categoriaArtigo &"' title='Exibir detalhes de " & titulo & "' class='dataNews'><b>" & data & "</b></a>"
				link = "<a href='artigoDetalhe.asp?id=" & id & "&categoria="& categoriaArtigo &"' title='Exibir detalhes de " & titulo & "' class='dataNews'>ler artigo <img src='sistema/imagens/detalhes.png' border='0' align='absmiddle'></a>"
				linkEditar ="<a href='editarArtigo.asp?id=" & id & "&categoria="& categoriaArtigo &"' title='Editar Artigo'><img src='imagens/editar.png' border='0' align='absmiddle'></a>" 						
				linkApagar = "<a href='apagandoArtigo.asp?id=" & id & "' title='Apagar Artigo' onClick='return confirmarArtigo()'><img src='imagens/apagar.png' border='0' align='absmiddle'></a>"


			%>

				<div class="boxNoticias">

       <div class="controles"><%=linkEditar%> <%=linkApagar%></div>
					<div id="thumbNoticia"><img src="../imagens/thumbs/<%= foto %>" width="160" height="105"  boder="10" style="border-style:solid; border-color:#ffffff; "> </div>
					<div id="textoArtigoSistema">
					<%=linkData%><br><b class="tituloRegistro"><%=titulo%></b><br>


	    <%'=left(rs("materia"),150) %> 
           <% 'if len(rs("materia")) > 150 then %>
           <%'...%> 
           <% 'end if %>

	</div>

       <div class="botaoVisualizar"> <a href="artigoDetalhe.asp?id=<%=id%>&categoria=<%=categoriaArtigo%>" title="<%=titulo%>"> 
         <img src="../imagens/botaoVisualizar.png" border="0" align="absmiddle" /></a>
	  </div>
	  <br/>		
				</div>
			<%	
			rs.movenext

				wend

				Response.Write "Página(s): "

				For i = 1 To rs.PageCount
				If i = cint(pag) Then
				Response.Write "<span style='padding-left:5px; padding-right:5px; margin-left:5px; margin-right:5px; border:1px solid #cccccc'>" & i & "</span>"
				Else
				Response.Write "<a href='" & request.servervariables("script_name") &"?categoria="& categoriaArtigo &"&p=" & i & "' style='color:#004f9a; padding:2px' >" & i & "</a> "

				End If
				Next
				end if
				rs.close
				Set rs = nothing%>

				<br><br>
			</div>

           </div>
		<div id="luzRodape">
			 
		</div>
       </div>
</div>
<div align="center" id="fim"> 
 <!--#include file="rodape.asp"-->
</div>
</body>
</html>

<% end if %>

 

 

Agradeço desde JA !

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha este exemplo

 

<%
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>

 

e mude o CursorLocation = 3

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao entendi o CursorLocation = 3

mudo ele pra qual parametro ?

 

Funcionou , implementei o CursorLocation no código !

 


rs.CursorLocation = 3
rs.pagesize = 4
rs.open sql, con, 3, 3

 

Valew cara !

Compartilhar este post


Link para o post
Compartilhar em outros sites

no MySQL sempre precisa definir o CursorLocation para 3

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.