Ir para conteúdo

POWERED BY:

Arquivado

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

cintiadel

[Resolvido] Paginação no resultado da Busca

Recommended Posts

Tentei solucionar meu problema lendo os tópicos, mas não consegui. Embora aparentemente o problema seja o mesmo.

O meu problema é o seguinte tenho uma busca avançada com cerca de 39 campos sendo eles textboxs, comboboxs e checkboxs, essa página é direcionada para a resultado da busca, mas qdo vou para a segunda página ela não filtra mais e começa a exibir todos os registros:

 

 

'variavel que inicia o select
	myselLoc = "select * from Local"
	'variavel para o where
	myselWhere = ""

	'para cada campo que vier do form como requeste execute ...
	for each field_name in request.form
		if field_name <> "btnBuscar2.x" and field_name <> "btnBuscar2.y" and field_name <> "btnBuscar.x" and field_name <> "btnBuscar.y" and request(field_name) <> "" then
			'construção do comando where
			myselWhere = myselWhere & field_name & "='" & request(field_name) & "' and "
		end if
	next

	if myselWhere <> "" then
		' se existir clausula where, adicionar where a sentença e eliminar o ultimo and que sobraria.
		myselLoc = myselLoc & " where " & left(myselWhere,len(myselWhere)-4)
	end if

 

e a linha das paginações assim:

'Vamos verificar se não é a página 1, para podermos colocar o link “anterior”. 
IF intpagina > 1 then 
%>
				<a href="BuscaRes.asp?pagina=<%=intpagina-1%>">Anterior</a></td>
			  <td><% 
END IF

'Se não estivermos no último registro contado, então é mostrado o link p/ a próxima página 
IF strcomp(intpagina,rsLoc.PageCount) <> 0 then 
%>
				<a href="BuscaRes.asp?pagina=<%=intpagina + 1%>">Próxima</a></td>
			  <td><% 
END IF
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

na verdade é pra você no form usar o metodo GET e não POST assim fica mais fácil de resgatar!

o problema nao está no metodo pq esta filtrando e exibindo

pq a primeira pagina exibe normalmente com o filtro, mas qdo vou para a segunda página ele começa exibir tudo

deve ser algo q eu tenha q passar aqui:

<a href="BuscaRes.asp?pagina=<%=intpagina + 1%>">Próxima</a></td>

Compartilhar este post


Link para o post
Compartilhar em outros sites

você não entendeu

 

se você mudar para o metodo GET não vai precisar ficar configurando as querystrings, é só colocar os parâmetros os links e pronto!

 

se deixa o metodo POST vai ter que resgatar os valores de uma variável, sendo assim tratando uma a uma!

Compartilhar este post


Link para o post
Compartilhar em outros sites

você não entendeu

 

se você mudar para o metodo GET não vai precisar ficar configurando as querystrings, é só colocar os parâmetros os links e pronto!

 

se deixa o metodo POST vai ter que resgatar os valores de uma variável, sendo assim tratando uma a uma!

ai ele nao filtra nda traz todos os registros

Compartilhar este post


Link para o post
Compartilhar em outros sites

<a href="BuscaRes.asp?pagina=<%=intpagina + 1%>&nome=<%=Request.QueryString("nome")%>&endereco=<%=Request.QueryString("endereco")%>.......">

e assim vai e pronto, não tem complicação, caso claro você coloque o metodo get!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

<a href="BuscaRes.asp?pagina=<%=intpagina + 1%>&nome=<%=Request.QueryString("nome")%>&endereco=<%=Request.QueryString("endereco")%>.......">

e assim vai e pronto, não tem complicação, caso claro você coloque o metodo get!!!

 

mas assim vou ter q colocar todos os campos?????

Compartilhar este post


Link para o post
Compartilhar em outros sites

yes! não tem geito, pelo menos não vai precisar concatenar nem tratar variaveis do for, não vai precisar usar Request.Form, é querystring direto, dessa você não vai conseguir escapar!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

yes! não tem geito, pelo menos não vai precisar concatenar nem tratar variaveis do for, não vai precisar usar Request.Form, é querystring direto, dessa você não vai conseguir escapar!!!!

do outro jeito é muito complexo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

yes, pois você vai resgadar valores do formulário e terá sempre que alimentar, então finalizando:

 

você terá que alimentar a variável que vem do form para o sql e as variáveis da querystring!!

 

 

você escolhe!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

yes, pois você vai resgadar valores do formulário e terá sempre que alimentar, então finalizando:

 

você terá que alimentar a variável que vem do form para o sql e as variáveis da querystring!!

 

 

você escolhe!!

vou ter q colocar o querystring no meu select ou somente na paginação?

Compartilhar este post


Link para o post
Compartilhar em outros sites

nos dois!!!!

troquei o metodo para get como disse

no select eu troquei request.form para request.query string ficou assim:

for each field_name in request.QueryString

ele esta me dando o seguinte erro:

Microsoft OLE DB Provider for SQL Server erro '80040e14'

Invalid column name 'pagina'.

/asp/BuscaRes.asp, line 38

na linha 30 tem:

rsLoc.Open myselLoc,con,3,3

deve ser por causa disso, mas n sei o q coloco no lugar:

IF Request.QueryString("pagina")="" then 
	  intpagina=1 
   ELSE
	  IF cint(Request.QueryString("pagina"))<1 then
		 intpagina=1 
	  ELSE
		 IF cint(Request.QueryString("pagina"))> rsLoc.PageCount then 
			intpagina=rsLoc.PageCount 
		 ELSE
			intpagina=Request.QueryString("pagina")
		 END IF
	  END IF
   END IF
END IF

Compartilhar este post


Link para o post
Compartilhar em outros sites

tá dizendo que a coluna "pagina" não está válida nos eu SQL!!

mas na consulta sql n tem a coluna pagina eu postei dei uma olhada

aquilo é a paginação

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.