Consegui um sistema de paginação bem legal na web com filtro.
Pra quem precisar o código está abaixo...
Eu gostaria de saber o que tenho que fazer para criar um link, para sempre que eu clicar no título ir para a página com a notícia completa.
<% '********************************************************
'********************************************************
%>
<% Option Explicit %>
<!-- #include file = "adovbs.inc" -->
<%
Const PAGE_SIZE = 3 'quantidade de itens na página.
'Declarando as variaveis
Dim Conexao ' string para conexão
Dim rsBusca ' string do recordset
Dim rs
Dim rs1
Dim strSQL ' string SQL
Dim strSearch ' string para fixar o texto procurado
Dim iPageCurrent ' string para Pagina Corrente
Dim iPageCount ' string para contar números de paginas do recorset
Dim iRecordCount ' string do contador
Dim I ' variável de indica a página atual
Dim categoria ' variável de indica a categoria escolhida
Dim strURL ' variável que indicará o endereço do site
strURL = Request.ServerVariables("URL")
categoria = request("categoria") ' variável de retorno
Sub abre_conexao ' Criando uma conexão com o Banco de Dados
Set Conexao = Server.CreateObject("ADODB.Connection")
Conexao.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& Server.MapPath("noticias.mdb") &";"
End sub
IF categoria = "" Then categoria = 0
If Request.QueryString("page") = "" Then ' Abertua inicial
iPageCurrent = 1
Else
iPageCurrent = CInt(Request.QueryString("page"))
End If
%>
<html>
<head>
<title>Paginação do Guardião</title>
<style>
a:hover {
text-decoration: underline
}
a {
font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; font-weight: bold; text-decoration: none
}
</style>
<!-- Javascript para onChange do ListMenu -->
<script LANGUAGE="JavaScript">
function Menu() {
document.forms.myform.submit();
}
</SCRIPT>
</head>
<body bgcolor="#ACBbbb" text="#000000" link="#000000" alink="#000000" vlink="#000000">
<!-- MONTANDO O LIST MENU COM AS CATEGORIAS -->
<FORM NAME="myform" ACTION="<%=strURL%>" METHOD=POST >
<table width="400" cellpadding="1" cellspacing="0" border="0" align="center">
<tr><td><font face="Verdana,Arial" color="#000000" size=1>Categoria:</font>
<select name="categoria" onChange="Menu();">
<option value="0" selected>(Todos)</option>
<%
Call abre_conexao ' Abrindo a conexão criada
Set rs = Server.CreateObject("ADODB.RecordSet")
' Selecionando as categorias através de uma instrução SQL
rs.Open "SELECT * FROM categorias", conexao
While not rs.eof ' Criando um Loop
IF Trim(categoria) = Trim(rs("ID")) Then
%>
<option value="<%=rs("ID")%>" selected ><%=rs("categorias")%></option>
<% Else %>
<option value="<%=rs("ID")%>"><%=rs("categorias")%></option>
<%
End IF
rs.movenext ' próximo registro
Wend
rs.close ' fechando o recordset
set rs = Nothing ' destruindo o recordset
%>
</select>
</td></tr>
</table>
</Form>
<!-- INÍCIO DA PAGINAÇÃO EM UMA TABELA -->
<%
IF categoria = 0 Then ' verifica se alguma categoria foi escolhida
strSQL = "SELECT * FROM categorias INNER JOIN noticias ON categorias.ID = noticias.categoria "
Else ' se foi determina uma condição
strSQL = "SELECT * FROM categorias INNER JOIN noticias ON categorias.ID = noticias.categoria WHERE categorias.ID = "& Trim(categoria) & " ORDER BY categoria"
End IF
' criando um Recordset referente a categoria escolhida
Set rsBusca = Server.CreateObject("ADODB.Recordset")
rsBusca.PageSize = PAGE_SIZE
rsBusca.CacheSize = PAGE_SIZE
' abre a conexão e executa o recordset
rsBusca.Open strSQL, Conexao, adOpenStatic, adLockReadOnly, adCmdText
iRecordCount = rsBusca.RecordCount
iPageCount = rsBusca.PageCount
If iRecordCount = 0 Then ' se nenhum registro for encontrado
%>
<table width="400" cellpadding="1" cellspacing="0" border="0" align="center">
<tr>
<td><font face="Verdana,Arial" color="#000000" size=1>
<%="Nenhum registro foi encontrado"%>
</font></td>
</tr>
</table>
<%
Else ' caso contrário monta a paginação
rsBusca.AbsolutePage = iPageCurrent ' determina qual página deve ser exibida
%>
<table width="400" cellpadding="1" cellspacing="0" border="0" align="center">
<tr>
<td><font face="Verdana,Arial" color="#000000" size=1>
<% 'faz as contagens dos registros encontrados
response.write iRecordCount & " registros encontrados.<br>"
response.write "Página " & iPageCurrent & " de " & iPageCount
%>
</font></td>
</tr>
<tr><td> </td></tr>
</table>
<table width="400" cellpadding="1" cellspacing="0" border="0" align="center">
<% ' novo loop, verificando a página a ser exibida
While Not rsBusca.EOF And rsBusca.AbsolutePage = iPageCurrent %>
<tr>
<td bgcolor="#0099CC"><b><font color="#000333" face="verdana" size="1"> <%
IF categoria = 0 Then
response.write rsBusca("titulo") &" ( "
response.write rsBusca("categoria") & " )"
Else
response.write rsBusca("titulo")
End IF
%> </font></b></td>
</tr>
<tr>
<td><font color="#000333" face="verdana" size="1"> <% response.write rsBusca("descricao") %>
</font></td>
</tr>
<%
rsBusca.MoveNext ' próximo registro
Wend
%>
</table>
<table width="400" cellpadding="1" cellspacing="0" border="0" align="center">
<tr><td> </td></tr>
<tr>
<td><font face="Verdana,Arial" color="#000000" size=1>
<% ' informa que página o usuário está da paginação
response.write "Páginas: "
For I = 1 To iPageCount
If I = iPageCurrent Then
response.write "[" & I & "]"
Else
' criamos um link a categoria escolhida e a
' página a ser mostrada
%>
<a href="<%= strURL %>?categoria=<%=categoria%>&page=<%= I %>"><%= I %></a>
<%
End If
Next
End If
%>
</font></td></tr>
</table>
<%
rsBusca.Close
Set rsBusca = Nothing
Conexao.Close
Set Conexao = Nothing
%>
</body>
</html>
Pergunta
nadia_xidea
Oi gente, tudo bem.
Consegui um sistema de paginação bem legal na web com filtro.
Pra quem precisar o código está abaixo...
Eu gostaria de saber o que tenho que fazer para criar um link, para sempre que eu clicar no título ir para a página com a notícia completa.
Link para o comentário
Compartilhar em outros sites
8 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.