Fiz algumas adaptações com um código de paginação e consulta de dados.
Colocando só a paginação ficou excelente, mas quando coloco a consulta a paginação não traz a próxima página.
Gostaria que alguém me ajudasse.
Vou postar o código completo:
<%
Dim strURL, cnnSearch, rstSearch, strDBPath, strSQL, strSearch, intContador, Conn, rs
'Função que tira todos os acentos das palavras
function TiraAcento(StrAcento)
for i = 1 to len(StrAcento)
Letra = mid(StrAcento, i, 1)
Select Case Letra
Case "á","Á","à","À","ã","Ã","â","Â","â","ä","Ä"
Letra = "A"
Case "é","É","ê","Ê","Ë","ë","È","è"
Letra = "E"
Case "í","Í","ï","Ï","Ì","ì"
Letra = "I"
Case "ó","Ó","ô","Ô","õ","Õ","ö","Ö","ò","Ò"
Letra = "O"
Case "ú","Ú","Ù","ù","ú","û","ü","Ü","Û"
Letra = "U"
Case "ç","Ç"
Letra = "C"
Case "não"
Letra = "N"
End Select
texto = texto & Letra
next
TiraAcento = texto
end function
strURL = Request.ServerVariables("URL")
strSearch = Request.QueryString("search")
%>
<style>
.TProdutos{border: 1px solid White;margin: 0px 0px 2px 0px;background: #ecffec; border-collapse:collapse; width: 80%; font: 9pt Verdana, Arial;}
.TProdutos td {border: 0px solid #ccffcc;border-collapse:collapse;}
.TProdutos td#Titulo {border: 0px;font: 9pt Verdana, Arial, Helvetica;height: 4px; background:#006600; color:#FFFFFF;}
.TProdutos td#Dados {border: 0px;font: 7pt Verdana, Arial, Helvetica;height: 0px;background: #f9fff9; color: #003300;}
</style>
<table width="80%" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#ffffff">
<br>
<br>
<tr>
<td><strong><font face="'MS Sans Serif',Geneva,sans-serif" size="+1" color="#006a00">Consulta de Estabelecimentos</font></strong></font>
<form action="<%= strURL %>" method="get">
<div style="width:80%">
<b><font face="Verdana,Geneva,Arial,Helvetica,sans-serif" size="2" color="#006a00">Nome do Establecimento ou Nº do Processo:</font></b> <font color="Lime"><input type="text" name="search" value="<%= strSearch %>" size="55"></font><input type="image" src="btbuscar.gif" align="absmiddle" >
<input type="image" src="btlimpar.gif" onclick="java script:document.form.reset()" align="absmiddle">
</div></form>
<div align="center">
<form id="form" method="get" action="produto.asp">
<table border="0" cellpadding="0" cellspacing="0" width ="100%">
<tr>
<th bgcolor="#008400"><FONT face=Verdana size=1><STRONG><font color="#ffffff">Estabelecimento </font></STRONG></FONT></th>
<th bgcolor="#008400"><FONT face=Verdana size=1><STRONG><font color="#ffffff">Pedido </font></STRONG></FONT></th>
<th bgcolor="#008400"><FONT face=Verdana size=1><STRONG><font color="#ffffff">Credenciamento
</font></STRONG></FONT></th>
<th bgcolor="#008400"><FONT face=Verdana size=1><STRONG><font color="#ffffff">Situação </font></STRONG></FONT></th>
<th bgcolor="#008400"><FONT face=Verdana size=1><STRONG><font color="Yellow">Produtos</font></STRONG></FONT></th>
<div align="right"><input type="image" src="btverificarproduto.gif"</div>
<br>
</tr>
<%
'Efetuando a conexão com a base de dados criada -----------------------
If strSearch <> "" Then
Set Conn = Server.CreateObject("AdoDb.Connection")
Conn.provider="Microsoft.Jet.OLEDB.4.0"
Conn.connectionstring=Server.Mappath("dbvinhos.mdb")
Conn.open
'--------------------------------------------------------------------------
'Vamos criar o objeto Record Set -> neste caso é necessário declará-lo,
'pois vamos utilizar algumas funções deste objeto
Set rs = Server.CreateObject("adodb.recordset")
rs.PageSize = 10 'quantidade de registros por página. Você pode alterar sem conforme precise.
'Vamos fazer a busca na tabela contatos
SQL = "SELECT * " _
& "FROM estabelecimento " _
& "WHERE Processo LIKE '%" & TiraAcento(Replace(strSearch, "'", "''")) & "%' " _
& "OR nome LIKE '%" & TiraAcento(Replace(strSearch, "'", "''")) & "%' " _
& "ORDER BY nome;"
rs.Open SQL,Conn,3,3
'Vamos agora verificar exceções do tipo “fim de arquivo” (EOF), se a página atual é menor
'que zero, se é maior que o número total de páginas, etc.
IF rs.EOF then
Response.Write "nenhum registro encontrado"
Response.End 'paramos o programa
ELSE
'Definindo em qual pagina o visitante está
IF Request.QueryString("pagina")="" then
intpagina=1
ELSE
IF cint(Request.QueryString("pagina"))<1 then
intpagina=1
ELSE
IF cint(Request.QueryString("pagina"))> rs.PageCount then
intpagina=rs.PageCount
ELSE
intpagina=Request.QueryString("pagina")
END IF
END IF
END IF
END IF
'Fim das verificações de exceções
'Usamos a propriedade AbsolutePage para dizer ao RS que página ele esta
rs.AbsolutePage=intpagina
' Inicia o contador que vai controlar os registros mostrados
intrec=0
'Enquanto o contador for menor que a quantidade de registros mostrados ou
' não for o final do arquivo
While intrec < rs.PageSize and not rs.EOF
%>
<tr>
<td class="TProdutos"> <% Response.Write(rs("nome")) %> </td>
<td class="TProdutos"> <% Response.Write(rs("Data_Pedido")) %> </td>
<td class="TProdutos"> <% Response.Write(rs("Data_Credenciamento")) %> </td>
<td class="TProdutos"> <% Response.Write(rs("situacao")) %> </td>
<td class="TProdutos" align="center"> <input type="radio" name="radio" value="<%=rs("cod_estabel")%>"> </td>
</tr>
<%
RS.MoveNext
' Acrescenta +1 ao contador
intrec=intrec+1
'Se for EOF (fim de arquivo), imprimir branco na tela
IF rs.EOF then
response.write " "
END IF
Wend 'fim do loop
'Vamos verificar se não é a página 1, para podermos colocar o link “anterior”.
IF intpagina > 1 then
%>
<%=strSearch%><a href="paginacao.asp?pagina=<%=intpagina-1%>">Anterior</a>
<%
END IF
'Se não estivermos no último registro contado, então é mostrado o link p/ a próxima página
IF strcomp(intpagina,rs.PageCount) <> 0 then
%>
<a href="paginacao.asp?pagina=<%=intpagina + 1%>">Próxima</a>
<%
END IF
%>
<%
END IF
%>
Pergunta
Leonardo Rocha
Olá amigos,
Fiz algumas adaptações com um código de paginação e consulta de dados.
Colocando só a paginação ficou excelente, mas quando coloco a consulta a paginação não traz a próxima página.
Gostaria que alguém me ajudasse.
Vou postar o código completo:
Link para o comentário
Compartilhar em outros sites
0 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.