- Fórum
- OTServ
- Recursos
- Linguagens de Programação
- Programação Web
- Paginação Em Asp Com Banco De Dados Mysql
GU
asp
Paginação Em Asp Com Banco De Dados Mysql
Por guilhermes26, 05 de jan. de 2009 em Programação Web
otserv
tibia
script
1
2.6k
Por guilhermes26, 05 de jan. de 2009 em Programação Web
info
Grupo: Visconde
Registrado: 25/05/08
Posts: 1.4k
Reputação: +26
Char no Tibia: Akhumura
Eae XTibianos Progamadores
Tava dando uma olhada na net (lê-se Google), e achei um code bem útil para paginação em ASP com banco de dados MYSQL, se você teve problemas porque não existe suporte para a propriedade AbsolutePage, dai peguei esse code prontinho. Testado
<!--#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() loop 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 IF Else Response.Write "<font color=""#ADADAD"">Próxima</font> " END IF IF (CInt(paginaAtual) <> pagecount) THEN IF CInt(PF) <> pagecount THEN Response.Write "<a href='"&pagina&"?p=" & pagecount & "'>Última</a> " END IF Else Response.Write "<font color=""#ADADAD"">Última</font> " END IF %>Abaixo segue o arquivo que faz conexão com o banco "arquivo_de_conexão.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 %>Só para relembrar, foi testado e funciona normalmente.