Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Rodrigo Loures

[Resolvido] Paginação com erro em arquivo

Recommended Posts

Bom dia a todos!

Estou querendo fazer uma paginação, então dividi em quatro arquivos: o primeiro referente a conexão, o segundo com os links para a paginação, o terceiro para a consulta no banco e, o quarto para a exibição dos registros. Mas quando abro o arquivo de paginação diz que a variável não está definida. Já procurei em todos os arquivos e não consegui achar o erro.

 

Se algué puder me ajudar, seguem os códigos abaixo:

 

Conexão:

<%
	
	Option Explicit
	
	On Error Resume Next
	
	Response.Expires = -1
	
	Set conexao = Server.CreateObject("ADODB.Connection")
	
	conexao.CursorLocation = 3
	
	conexao.ConnectionString = "driver={MYSQL ODBC 5.1 Driver}; server=localhost; uid=root; pwd=123; database=apostila; OPTION=3"
	
	conexao.Open
	
	if (Err.number <> 0) then
		
		Response.Write(err.description)
		
	end if 
 	
%>

Paginação:

 

<!--#include file = "consultaDados.asp"-->
	<%
	if (intpagina > 1) then
	%>
		<p align="left">
			<a href="paginacaoDados.asp?pagina=<%=intpagina-1%>">Anterior</a>
		</p>
	<%
	End if
	if strcomp(intpagina,pesquisa.pageCount) <> 0 then
	%>
		<p align="right">
			<a href="paginacaoDados.asp?pagina=<%=intpagina+1%>">Próxima</a>
		</p>
	<%
	End if
	%>

Consulta:

 

<!--#include file = "conexao.asp"-->
<!--#include file = "listaDados.asp"-->
<!-- #include file = "adovbs.inc" -->

<%
	'Declaração de variáveis'
	dim sqlPesqProduto
	dim pesquisa
	dim conexao
	dim intpagina
	dim intrec
	
	'Início da sub'	
	sub Pesquisar()
	
		'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 * FROM produto order by produto"
	
		'Executando o comando SQL'
		set pesquisa = conexao.Execute(sqlPesqProduto)
		call Paginando()
	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
	%>

Exibição:

<%
	private sub Paginando()
		On Error Resume Next
		pesquisa.Pagesize = 3
		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)
			reponse.write(pesquisa("produto"))
			reponse.write(pesquisa("fabricante"))
			reponse.write(pesquisa("preco"))
			pesquisa.MoveNext
			intrec = intrec + 1
			if pesquisa.EOF then
				Response.Write (" ")
			End if
		Wend
	end sub
	%>

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

então defina a variável

 

dim intpagina

ou retire o "Option Explicit"

A variável intpagina já está declarada no código de consulta. Já a declarei nos outros mas continua dando a mensagem de variável não definida.

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas qual a variavel que acusa erro

 

retire o on error resume tambem para visualizar os erros

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agradeço a todos que me ajudaram... consegui resolver, refiz o código novamente e deu certo!

 

Conexão:

 

<%
	
	Option Explicit
	
	On Error Resume Next
	
	Response.Expires = -1
	
	Set conexao = Server.CreateObject("ADODB.Connection")
	
	conexao.CursorLocation = 3
	
	conexao.ConnectionString = "driver={MYSQL ODBC 5.1 Driver}; server=localhost; uid=root; pwd=123; database=apostila; OPTION=3"
	
	conexao.Open

	if (Err.number <> 0) then
		
		Response.Write(err.description)
		
	end if 
 	
%>

paginação:

<!--#include file = "consultaDados.asp"-->
	<%
	if (intpagina > 1) then
	%>
			<a href="paginacaoDados.asp?pagina=<%=intpagina-1%>">Anterior</a>
	<%
	End if
	if strcomp(intpagina,pesquisa.pageCount) <> 0 then
	%>
			<a href="paginacaoDados.asp?pagina=<%=intpagina+1%>">Próxima</a>
	<%
	End if
	%>

Exibição:

<%
	sub Paginando()
		On Error Resume Next
		pesquisa.Pagesize = 2
		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("produto") & "<br/>")
			pesquisa.MoveNext
			intrec = intrec + 1
			if pesquisa.EOF then
				Response.Write (" ")
			End if
		Wend
	end sub
	%>
Consulta:

 

<!--#include file = "conexao.asp"-->
<!--#include file = "listaDados.asp"-->
<!-- #include file = "adovbs.inc" -->

<%
	dim sqlPesqProduto
	dim conexao
	dim pesquisa
	dim intpagina
	dim intrec   
	sub Pesquisar()
	set pesquisa = Server.CreateObject("adodb.recordset")
	sqlPesqProduto = "SELECT * FROM produto order by produto"
	set pesquisa = conexao.Execute(sqlPesqProduto)
	call Paginando()
	End sub
	call Pesquisar()
	if (err.number <> 0) then
		Response.Write(err.description)
	end if
	%>

Valeu galera! Resolvido.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.