Ir para conteúdo

POWERED BY:

Arquivado

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

Gilberto Jr

[Resolvido] Botão Voltar e Avançar

Recommended Posts

Boa noite pessoal, depois de algum tempo volto com minhas dúvidas heheh

É o seguinte, eu fiz uma pagina de visualizaçao de noticias. e coloquei um botao de avançar para a proxima noticia e voltar para anterior.

 

no inicio da pagina tem la um query

 

o codigo esta assim.

codigo = request.query("codigo")

 

e os botoes estao da seguinte forma:

<a href="viewnoticia.asp?codigo=<%=rs("codigo")-1%>">Voltar</a> | <a href="viewnoticia.asp?codigo=<%=rs("codigo")+1%>">Avançar</a>

 

o que eu quero aprender é como faço tanto o botao Voltar | Avançar estiver no ultimo registro eles desabilitar.

 

desabilitar o botao voltar quando estiver no primeiro registro e desabilitar o avançar quando tiver no ultimo registro.

 

desde ja agradeço

Compartilhar este post


Link para o post
Compartilhar em outros sites

exatamente, uma paginacaun resolve seu problema,

existem varios ótimos exemplos no lab. de script, dá uma pesquisada,

a logica é essa

<% 
'Efetuando a conexão com a base de dados criada -----------------------
Set Conn = Server.CreateObject("AdoDb.Connection") 
Conn.provider="Microsoft.Jet.OLEDB.4.0" 
Conn.connectionstring=Server.Mappath("/coluna_asp/db /clientes.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 = 5 'quantidade de registros por página. Você pode alterar sem conforme precise.

'Vamos fazer a busca na tabela contatos
SQL = "select * from contatos" 
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 
'------------------- AQUI VEM TUDO O QUE SEÁ PAGINADO -----------------------
   response.write RS("nome") & " - " & RS("telefone") & " - " & RS("email") & "<BR>"
'---------------------------------------------------------------------------------------------
   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 
%> 
   <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
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa noite pessoal. Estou fazendo um Site, que por sinal faz um tempão que não faço e por isto preciso gentilmente da ajuda de vocês, mas estou encontrando uma imensa dificuldade em um item.

 

Tenho uma página onde são exibidos todos os meus clientes e nela tenho um botão ANTERIOR e outro PRÓXIMO, que percorrem os registros pelo número de cada um cadastrado automaticamente em uma variável no BD num campo com numeração automática. O código que estou usando nos botões é este:

 

 

<a href='consulta.asp?codigocliente=<%=tba("IDOrcamento")-1%>'><img src="proximo.gif"></a>

 

<a href='consulta.asp?codigocliente=<%=tba("IDOrcamento")+1%>'><img src="anterior.gif"></a>

 

Porém, existem clientes que ao longo do tempo excluí, e ficaram lacunas nas numerações, por exemplo, exclui hoje o cliente número 49, quando vou navegar pelos botões ANTEIROR e PRÓXIMO, ele mostra o 47, 48, mas não pula para o 50, o sistema finaliza a consulta, pois meu botão soma (+1) um aos números.

 

Pessoal, não desejo fazer páginas, ou exibir a numeração de quantos registros tenho, desejo apenas um script que funcione neste dois botões, que pule os números que não existam e ao final .eof me diga que não há mais cliente.

 

O problema também acontece quando eu faço uma busca no BD, por exemplo, apenas pelos clientes que estão com o status de “Aguardando Retorno”, o problema é que os números de cada um são aleatórios e aí os botões ANTEIROR e PRÓXIMO não navegam nele, vejam o código:

 

 

ARQUIVO INDEX.ASP
<%
SUB onBanco()
SET banco = Server.CreateObject("ADODB.Connection")
banco.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=banco.mdb;Persist Security Info=False"
end SUB
%>
DIM codigocliente, tba, sql
DIM banco : onBanco
sql = "" & "SELECT * FROM ORCAMENTO WHERE StatusCliente = 'Aguardando RETORNO do Cliente' ORDER By idOrcamento DESC"
SET tba = Server.CreateObject("ADODB.RecordSet")
SET tba = banco.execute(sql)

<select name="Menu" onchange="window.location.href=this.options[this.selectedIndex].value">

<option value="selecao.asp" selected="selected">Aguardando RETORNO do CLIENTE</option>

<%do while not tba.eof%>

<option value="consulta.asp?codigocliente=<%=tba("IDOrcamento")%>"><%=tba("NomeContato")%></option>

<%tba.movenext : loop%>

</select>

 

ARQUIVO CONSULTA.ASP (onde tem os botões)

 

<%
DIM codigocliente : codigocliente = Request.QueryString("codigocliente")
DIM banco : onBanco
DIM sql : sql = ""
sql = sql & "SELECT * FROM ORCAMENTO WHERE IDOrcamento = "
sql = sql & codigocliente
DIM tba
SET tba = Server.CreateObject("ADODB.RecordSet")
SET tba = banco.execute(sql)
%>

 

Muitíssimo obrigado a TODOS! Um abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ele gera algum número de erro ?

E para maior fluidez do fórum pedimos gentilmente , que neste casos , como o post é muito antigo, que você por favor crie um novo. Obrigado pela compreensão.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde Xanburzum, muito obrigado por responder, e agradeço seu conselho, criei um novo tópico (http://forum.imasters.com.br/topic/507101-boto-prximo-e-anterior-no-sequencial/?p=2005577)

 

Apenas respondendo sua pergunta, não, ele não dera nenhum número ou mensagem de erro, apenas não exibe o próximo registro. Como estou usando <%=tba("IDOrcamento")+1%>'> para apenas somar ou subtrair 1 no registro atual, se, por exemplo, estou no registro 20 e o 21 foi excluído, ou estou pesquisando por um assunto especifico, onde os números não são sequenciais, o navegador cria o link "consulta.asp?codigocliente=21", mas não exibe nada, não sei como fazer ele, primeiro, reconhecer há determinado registro, tanto próximo, quanto anterior, foi excluído, e segundo, quando pesquiso por assunto, e neste assunto apenas os registros, por exemplo, 3, 7, 28, são o que preciso selecionar, que o sistema entenda e siga ou retroceda apenas neles.

 

Muito obrigado!

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.