Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
E ae galera,
se alguem ja tentou fazer um arquivo que tenha paginação em ASP com banco de dados MYSQL e teve problemas por que não há suporte para a propriedade AbsolutePage, aí vai um código prontinho que funciona:
<!--#Include File="arquivo_de_conexao.asp"-->
<%
Call AbreConn()
'pega a pagina atual
pagina = request.ServerVariables("SCRIPT_NAME")
'numero de registros por pagina...
pageSize = 1
if(len(Request.QueryString("p")) = 0 )then
paginaAtual = 1
else
paginaAtual = CInt(Request.QueryString("p"))
end if
' conta o numero de registros...
sql = "SELECT COUNT(*) AS total FROM nome_da_tabela"
set rs = conn.execute(sql)
'total de registros
recordCount = Cint(rs("total"))
'calculamos o numero de paginas...
pageCount = Clng(recordCount / pageSize)
If pageCount < 1 then
pageCount = 1
end if
rs.Close()
Flag1 = INT(paginaAtual / pagesize)
PI = INT(Flag1 * pagesize)
IF PI = 0 THEN
PI = 1
END IF
PF = PI + pagesize - 1
' selecionamos os registros...
sql = "SELECT FROM nome_da_tabela LIMIT " & (paginaAtual - 1) pageSize & " , " & pageSize
set rs = conn.execute(sql)
do while not rs.eof
' aqui entra o q você quer exibir
Response.Write rs("nome_do_primeiro_campo") &" - "& rs("nome_do_segundo_campo") & "<br>"
rs.MoveNext()rs.Close()
set rs = nothing
Call FechaConn()
set conn = nothing
Response.Write ("<B><strong> Página " & paginaAtual & " de " & pagecount & " </strong></B><br>")
' cria os links de pagians...
IF CInt(paginaAtual) > 1 THEN
Response.Write "<a href='"&pagina&"?p=1'>Primeira</a> "
Else
Response.Write "<font color=""#ADADAD"">Primeira</font> "
END IF
if CInt(paginaAtual) > 1 then
Response.Write "<a href='"&pagina&"?p=" & paginaAtual - 1 &"'>Anterior</a> "
Else
Response.Write "<font color='#666666'>Anterior</font> "
END IF
for i=1 to pageCount
Response.Write("<a href='"&pagina&"?p=" & i & "'>" & i & "</a> ")
next
IF (CInt(paginaAtual) < pagecount) THEN
IF CInt(PF) <> pagecount THEN
Response.Write "<a href='"&pagina&"?p=" & paginaAtual+1 & "'>Próxima</a> "
END IFIF (CInt(paginaAtual) <> pagecount) THEN
IF CInt(PF) <> pagecount THEN
Response.Write "<a href='"&pagina&"?p=" & pagecount & "'>Última</a> "
END IF Response.Write "<font color=""#ADADAD"">Última</font> "
END IF
%>
Abaixo está o arquivo que faz a conexão com o banco "arquivo_de_conexao.asp"
<%
dim conn
Sub AbreConn()
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open = "Driver={MySQL ODBC 3.51 Driver}; SERVER=localhost; DATABASE=Nome_do_banco; UID=seu_usuario; PWD=sua_senha;"
End Sub
Sub FechaConn()
conn.Close()
Set conn = Nothing
End Sub
%>
Espero que seja útil.
abraços a todos
Carregando comentários...