Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia a todos! Gostaria de saber se alguém pode me ajudar? Criei um código de paginação em asp que retorne os dados de uma tabela criada no banco MySql. Mas o código que criei está retornando apenas a primeira página e quando clico em no link próxima ele diz que não existem mais produtos cadastrados, o que não é verdade. Alguém sabe como resolver esse problema? Abaixo segue o código:
<!--#include file = "conexaoMySql.asp"-->
<!-- #include file = "adovbs.inc" -->
<%
'Declaração de variáveis'
dim nome
dim categoria
dim fabricante
dim modelo
dim preco
dim imagem
dim descricao
dim sqlPesqProduto
dim conexao
dim pesquisa
dim intpagina
dim intrec
dim tam
'Início da sub'
sub Pesquisar()
'Aqui as variáveis da tabela produto estão recebendo o valor digitado pelo usuário em cada campo'
categoria = Request.Form("categoria")
fabricante = Request.Form("fabricante")
descricao = Request.Form("descricao")
'Criando o objeto recordset'
set pesquisa = Server.CreateObject("adodb.recordset")
'Aqui a variável está recebendo a query SQL de consulta na tabela produto'
sqlPesqProduto = "SELECT imagem, nome, fabricante, modelo, preco FROM produto "
sqlPesqProduto = sqlPesqProduto & "WHERE categoria='"&categoria& "' AND fabricante='"&fabricante&"' AND descricao LIKE '%"&descricao&"%'"
'Executando o comando SQL'
set pesquisa = conexao.Execute(sqlPesqProduto)
'Definindo quantos registros serão exibidos por página'
pesquisa.Pagesize = 1
if(pesquisa.EOF) then
Response.Write("Não existem produtos")
Response.End 'finalização da página'
else
'Definindo a página que 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")) > pesquisa.PageCount) then
intpagina = pesquisa.PageCount
else
intpagina = Request.QueryString("pagina")
End if
End if
End if
End if
'Indicando em que página o sistema está'
pesquisa.AbsolutePage = intpagina
'Iniciando o contador que controla os registros mostrados'
intrec=0
'Este loop acontece enquanto o contador for menor que a quantidade de registros mostrados'
while (intrec < pesquisa.Pagesize and not pesquisa.EOF)
Response.Write (pesquisa("imagem") & "-" & pesquisa("nome") & "<BR/>")
pesquisa.MoveNext
intrec = intrec + 1
if pesquisa.EOF then
Response.Write (" ")
End if
Wend
if (intpagina > 1) then
%>
<a href="pesquisaProduto.asp?pagina=<%=intpagina-1%>">Anterior</a>
<%
End if
if strcomp(intpagina,pesquisa.pageCount) <> 0 then
%>
<a href="pesquisaProduto.asp?pagina=<%=intpagina+1%>">Próxima</a>
<%
End if
End sub
'chamada a sub inserção'
call Pesquisar()
'Caso haja algum erro será exibido'
if (err.number <> 0) then
Response.Write(err.description)
end if
%>Carregando comentários...