Ir para conteúdo

POWERED BY:

Arquivado

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

marcelocardoso

Voltar para o mesmo lugar da paginação

Recommended Posts

Amigos de PLANTÃO!

 

Preciso da ajuda de vocês:

Pois é o seguinte, tenho uma página com paginação de dados do banco para produtos, e tem mais de 300 no banco, portanto tenho uma paginação ok.

 

Oque acontece:

Tenho 3 páginas, que são elas: paginacao.asp, editar.asp, editar_db.asp

 

Abro a pagina paginação.asp, e ela me mostra todos os dados do banco paginados, logo digamos na paginação de número 10, escolho algum produto de lá, e ele me vai para a página editar.asp, onde atualizo os dados que quero, e depois ele me envia para a página que irá gravar os dados no banco que é chamada de editar_db.asp. ok Entenderam????

 

Nesta página EDITAR_DB.ASP, ele grava as alterações no banco de dados e no final da programação desta página, tenho um RESPONSE.REDIRECT "paginação.asp"

 

Mas OQUE EU PRECISO, REALMENTE AO INVÉS DE TRAZER PARA A PRIMEIRA PAGINAÇÃO DE DADOS, queria que ele voltasse para a paginação de número 10, onde escolhi aquele produto para atualizar...ok

 

 

Alguém sabe como me ajudar, pois não sei como fazer isso....????

Compartilhar este post


Link para o post
Compartilhar em outros sites

Salve...

 

Isso é simples... é só você armazenar (numa querystring ou campo hidden do form)..

 

Supondo que você envie o número da página atual via querystring:

 

<a href="editar.asp?id=2&pag=10">editar este ítem</a>

Aí, é só ir mantendo a querystring, e depois, ao enviar os dados atualizados para o DB, fazer o responde.redirect com a página atual:

 

<% Response.Redirect("paginacao.asp?pag=" & Request.Querystring("pag")) %>

Aí, no arquivo paginacao.asp, você faz uma verificação.. que se houver o número de página, já traga o resultado do recordset na mesma.. seria algo mais ou menos assim:

 

<% 'seu código de paginação

pag = Request.Querystring("pag")

 

RS.AbsolutePage = pag

'continua o código

Qualquer dúvida posta o seu código de paginação..

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado RAFAEL!

 

Só vou postar minha paginação aqui, para dares uma olhada pois não sei onde colocar aquela VERIFICAÇÃO, veja se consegue botar para mim neste código, ou caso não for preciso me retorne por gentileza.

 

Obrigado mais uma vez,,,,

 

Vou fazer oque você me disse!

Só da uma olhada e vê para mim onde tenho que colocar a VERIFICAÇÃO QUE POSTOU para mim fazer, ok???????

 

<table width="99%" height="600" border="0" align="center" cellpadding="2" cellspacing="2" class="PRODBORDA">  <tr>	<td valign="top"><TABLE width="100%" align="center" cellPadding=2 cellSpacing=3>	  <TBODY>		<TR>		  <TD vAlign=top><strong>Produtos</strong></TD>		</TR>		<TR>		  <TD> </TD>		</TR>	  </TBODY>	</TABLE>		<%'Resgatamos o valor vindo do campo do formulário IDPROD = Replace(Trim(Request.QueryString("pesquisar")),"'","")'::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::'CONFIGURAÇÃO DA PAGINAÇÃO DE DADOS'::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::'Buscaremos primeiramente a página atual PagAtual = Request.QueryString("paginacao")'Definimos o máximo de registros que serão exibidos por tela MaximoPorPagina = 10 'Faremos agora a seleção dos campos no banco de dados SQL = "SELECT * FROM Produtos WHERE (ProdutosValorDe LIKE '%" & IDPROD & "%' OR ProdutosNome LIKE '%" & IDPROD & "%' OR ProdutosSigla LIKE '%" & IDPROD & "%' OR ProdutosFabricante LIKE '%" & IDPROD & "%' OR ProdutosCategoria LIKE '%" & IDPROD & "%') AND ProdutosOpcao = TRUE AND ProdutosOpcaoPromocao = FALSE ORDER BY ID ASC" SET RSProdutos = Server.CreateObject("ADODB.Recordset")   	 RSProdutos.CursorType = 3	 RSProdutos.CacheSize = MaximoPorPagina	 RSProdutos.PageSize = MaximoPorPagina	 RSProdutos.Open SQL, ObjCX%>		<%'Se o RecordSet está vazio, ou não achou oque procuramos, ele exibe a mensagem abaixo:  IF RSProdutos.BOF AND RSProdutos.EOF THEN %>		<table width="95%" height="90" border="0" align="center" cellpadding="2" cellspacing="2">		  <tr>			<td></td>		  </tr>		  <tr>			<td><div align="center"><font color="#0060BF">Sua busca não encontrou 			  nada para (</font><font color="#000000"><strong> <%= IDPROD %> </strong></font><font color="#0060BF"> )</font><font color="#000000"></font><br>										<font color="#0060BF">Por favor! tente novamente com 										  outro nome na busca de produtos.</font></div></td>		  </tr>		  <tr>			<td></td>		  </tr>		</table>	  <% 'Senão ele faz isto logo abaixo: ELSE%>		<%'::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::'COMEÇO DA PAGINAÇÃO DE DADOS'::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::'Verificamos qual página foi solicitada IF Request.QueryString("paginacao") = "" THEN	PagAtual = 1		ELSE	PagAtual = Request.QueryString("paginacao") END IF'Movemos o objeto do RECORDSET para o início do ponteiro RSProdutos.MoveFirst 				 'Pegamos o número total de páginas TotalPages = RSProdutos.PageCount 'Configuramos a página atual RSProdutos.AbsolutePage = PagAtual     '::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::'FINAL DA PAGINAÇÃO DE DADOS'::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::%>		<table width="100%" border="0" align="center" cellpadding="2" cellspacing="6">		  <tr>			<td><div align="right">				<%'Verificaremos se a busca partiu pela busca de produtos, ou pela página de produtos IF IDPROD = "" THEN'Mostraremos agora o total de registros no banco de dados Response.Write("Foram encontrados <b><font color=""#0060BF"">"& RSProdutos.RecordCount &"</font></b> registros")	  ELSE'Mostraremos agora o total de registros no banco de dados Response.Write("Sua busca por: <font color=""#FF9900""><b>"& IDPROD &"</b></font> retornou <b><font color=""#0060BF"">"& RSProdutos.RecordCount &"</font></b> registro(s)")'Finalizamos a condição do IF  END IF%>				<%'Colocaremos o número da página atual e o número total de páginas Response.Write("<br>Mostrando página atual <b>" & PagAtual & "</b> de " & TotalPages & "<br>")%>			</div></td>		  </tr>		</table>	  <TABLE width="100%" align="center" cellPadding=2 cellSpacing=3>		  <TBODY>			<TR>			  <% FOR i = 1 TO MaximoPorPagina'Verificaremos se a imagem do produto existe ou não no banco de dados para vermos qual imagem exibiremos na tela IF IsEmpty(RSProdutos("ProdutosImagemNormal")) OR IsNull(RSProdutos("ProdutosImagemNormal")) THEN	  ImagemTratada = "diretorio_img/img_produtos/imagem_semproduto_pequena.jpg"	 'Caso contrário, exibimos abaixo	  ELSE	  ImagemTratada = RSProdutos("ProdutosImagemNormal") END IF%>			  <TD vAlign=top><TABLE width="100%" cellPadding=0 cellSpacing=0 class="PRODBORDA">				  <TBODY>					<TR>					  <TD width=133 align=middle valign="top"><div align="center"><strong><font face="Arial" size="1"><a href="page_produtos_detalhes.asp?codproduto=<%=RSProdutos("ID")%>" target="_parent"><img src="<%= ImagemTratada %>" alt="Detalhes do produto" width="100" height="100" border="0" align="absmiddle"></a></font></strong>							  <table width="100%" height="64" border="0" cellpadding="2" cellspacing="2">								<tr>								  <td> </td>								</tr>							  </table>					  </div></TD>					  <TD width="408" vAlign=top><table width="100%" height="49" border="0" cellpadding="1" cellspacing="1">						  <tr>							<td width="2%" bgcolor="#D8EBFA"> </td>							<td width="98%" bgcolor="#F4F4F4"> <strong><%=RSProdutos("ProdutosSigla")%></strong><br>							   <%=RSProdutos("ProdutosNome")%></td>						  </tr>						</table>						  <TABLE width="100%" cellPadding=0 cellSpacing=0>							<TBODY>							  <TR>								<TD height=79 colSpan=3 class=PRODDESCRICAO><div align="justify"> <%=Response.Write(LEFT(RSProdutos("ProdutosDescricao"),210) & "...")%></div></TD>							  </TR>							  <TR>								<TD class=PRODALIGNTEXT> </TD>								<TD class=PRODALIGNTEXT><div align="right"><a 								href="page_produtos_detalhes.asp?codproduto=<%=RSProdutos("ID")%>" target="_parent"><img 								src="diretorio_img/imagem_marcador_-_detalhes1.gif" alt="Detalhes do produto" width=109 height=24 								border=0></a></div></TD>								<TD class=PRODALIGNTEXT> </TD>							  </TR>							  <TR>								<TD width="71%" class=PRODALIGNTEXT> </TD>								<TD width="27%" class=PRODALIGNTEXT><div align="right"><a 								href="sacola_produtos.asp?codproduto=<%=RSProdutos("ID")%>" target="_parent"><img 								src="diretorio_img/imagem_marcador_-_comprar1.gif" alt="Colocar no carrinho" width=109 height=24 								border=0></a></div></TD>								<TD width="2%" class=PRODALIGNTEXT> </TD>							  </TR>							</TBODY>						</TABLE></TD>					</TR>					<TR>					  <TD align=middle valign="top"> </TD>					  <TD vAlign=top> </TD>					</TR>				  </TBODY>			  </TABLE></TD>			</TR>		  </TBODY>		  <%'Moveremos agora o ponteiro do RECORDSET para o próximo registro	RSProdutos.MoveNext IF RSProdutos.EOF THEN	EXIT FOR	END IF	NEXT%>		</TABLE>	  <br>		<table width="98%" border="0" align="center" cellpadding="2" cellspacing="4">		  <tr>			<td><div align="right">				<%'Mostraremos agora os botões ANTERIOR e PRÓXIMO, utilizando a opção de IF  IF TotalPages > 1 THEN%>			</div></td>		  </tr>		</table>	  <br>	  <br>		<table width="100%" align="center">		  <tr>			<td align="center"><%'::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::'CRIAREMOS O MENU DA PAGINAÇÃO DE DADOS'::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::IF Cint(PagAtual) > 1 THEN%>				<a href="page_produtos.asp?pesquisar=<%=IDPROD%>&paginacao=<%=PagAtual-1%>" target="_parent"><img src="diretorio_img/imagem_marcador_-_retorna1.gif" alt="Registro Anterior" width="93" height="24" border="0" align="absmiddle"></a>   				<% ELSE%>				<img src="diretorio_img/imagem_marcador_-_retorna1.gif" alt="Registro Anterior" width="93" height="24" align="absmiddle">  				<%END IF  FOR t=1 TO TotalPages	IF CInt(t) = CInt(PagAtual) THEN %>				<b><%=t%></b>				<%ELSE%>				<a href="page_produtos.asp?pesquisar=<%=IDPROD%>&paginacao=<%=t%>"><%=t%></a>				<% END IF  	IF Cint(t) < TotalPages THEN%>				<%END IFNEXT	 IF Cint(PagAtual) < TotalPages THEN%>			     <a href="page_produtos.asp?pesquisar=<%=IDPROD%>&paginacao=<%=PagAtual+1%>" target="_parent"><img src="diretorio_img/imagem_marcador_-_avancar1.gif" alt="Próximo Registro" width="90" height="24" border="0" align="absmiddle"></a>   			  <%ELSE%>			     <img src="diretorio_img/imagem_marcador_-_avancar1.gif" width="90" height="24" align="absmiddle">			  <% END IF%>			</td>		  </tr>		</table>	  <br>		<br>		<br>		<%'Fecharemos as condições END IF END IF%>	</td>  </tr></table>

 

Aguardo seu retorno.

Compartilhar este post


Link para o post
Compartilhar em outros sites

no link de "voltar" você coloca assim<a href="minhaPaginaDePaginacao.asp?paginacao=<%=request.querystring("paginacao")"%>VOLTAR</a>

Compartilhar este post


Link para o post
Compartilhar em outros sites

JOnathan, mas não estou usando um botao para link, e sim um RESPONSE.REDIRECT, okMas acho que oque o nosso amigo rafael postou, vai me ajudar....Só estou esperando a ajuda dele ou a sua mesmo para arrumar na paginação que postei a VERIFICAÇÃO que ele disse que tenho que colocar, se puder me ajudar....???/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Salve...

 

Pelo que vi no seu código, num vai ter segredo nenhum, nem vai ser preciso alterar nada...só será necessário modificar o Response.Redirect...

 

No código, veja que você tem a linha:

 

PagAtual = Request.QueryString("paginacao")
Assim, já está resgatando o valor da página atual, que será utilizado para declarar qual página está a listagem atual em:

 

RSProdutos.AbsolutePage = PagAtual
Assim sendo, as únicas alterações que você terá de fazer são:

 

Paginacao.asp

Altere o link editar, incluindo a página atual.. exemplo:

 

<a href="editar.asp?id=AQUI O ID&paginacao=<%=PagAtual%>">Editar ID</a>

No seu Response.Redirect de quando edita, coloque também:

 

Response.Redirect("paginacao.asp?paginacao="&Request.Querystring("paginacao"))

Sempre lembrnado que a cadapágina você deverá ir repassando o valor da paginacao via querystring...

 

Qualquer dúvida dá um grito!

 

Abraços!

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.