Ir para conteúdo

POWERED BY:

Arquivado

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

fgcom2

[Resolvido] Mostrar Próximo

Recommended Posts

Precisa fazer um SQL para pegar o ID atual... em seguida, fazer um SQL com LIMIT de 1 com o ID atual que você pegou comparado com anterior e proximo:

 

exemplo:

 

selec * from tabela...

gera o RS atual...

 

select * from tabela where ID < '"&rs_atual("id")&"' LIMIT 1

gera o ID anteiror

 

select * from tabela where ID > '"&rs_atual("id")&"' LIMIT 1

gera o ID proximo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu fazia como o Ted, porém aqui no trabalho todo mundo pega no pé de quem abre várias conexões. Ai eu fiz assim:

 

<%
cod_registro = Cint(Request("cod")) 'cod_registro ta recebendo o id do registro atual que no meu caso eu recuparei por querystring

RS create bla bla bla
SQL = "SELECT * FROM registros ORDER BY id_registro ASC"

stop_contador = 0
If Not RS.EOF Then
While Not RS.EOF
If RS("id_registro") < cod_registro Then
id_registro_anterior = RS("id_registro")
End If

If RS("id_registro") > cod_registro AND stop_contador = 0 Then
id_proximo_registro = RS("id_registro")
stop_contador = 1
End If

RS.MoveNext
Wend
End If
%>

<a href="registro.asp?cod=<%=id_registro_anterior%>">Anterior</a>      <a href="registro.asp?cod=<%=id_proximo_registro%>">Próximo</a>

Compartilhar este post


Link para o post
Compartilhar em outros sites

usa uma paginação

Compartilhar este post


Link para o post
Compartilhar em outros sites

existem alguns exemplos ótimo de páginação no fórum, e você pode comparar a lógica, olha este

 

code de PAGINAÇÃO que é muito bom simples e bem funcional.

 

espero ajudar de alguma maneira

 

 

 

 

<%
' Definindo o caminho do banco de dados
caminho = "bds/cadastro.mdb"

' Fazendo a conexão com o banco de dados (paginacao.mdb)
set objconn = Server.CreateObject("ADODB.Connection")
DSN = "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath(caminho)
objconn.Open DSN

' String SQL para consulta
SQL = "select * from cadastro order by cliente"

' Abrindo o registro
SET objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open SQL,objconn,3

' Se não encontrar nada escreve a mensagem
' Senão lista os registros
If objRS.EOF Then
Response.Write("Nenhum registro foi encontrado")
Else
' Definindo o número de registros por página
objRS.PageSize = 10

' Recupera o valor da variável pagina
pagina = Request.QueryString("pagina")

' Se a variável pagina for vazio, indica que a página sera a primeira
' Senão a variável pagina recebe o valor da página corrente, definida acima
If pagina = "" Then
objRS.AbsolutePage = 1
pagina = 1
Else
objRS.AbsolutePage = pagina
End If
%>
<%
' Imprime o número de registros, o total de páginas e a página atual
Response.Write("<table><tr><td><FONT FACE=Verdana SIZE=1 COLOR=#000000><B>Foram encontrados" & objRS.RecordCount & " registros" & vbcrlf )
Response.Write("<br>Mostrando página <b>" & pagina & "</b> de <b>" & objRS.PageCount & "" & vbcrlf )
Response.Write("<br><FONT FACE=Verdana SIZE=1 COLOR=#000000><B>Busca Avançada <a href='#' onClick=javascript:window.open('../busca_avc.asp','','width=200,height=50,scrollbars=no, resizable=no,left=00,top=0');>aqui</a></B></FONT></td></tr></table>")
%>

<%
' Criando a barra de navegação
' Se a variável pagina for maior que 1 então imprime o botão Anterior com link
' Senão imprime sem link
If CInt(pagina) > 1 Then
Response.Write("<center><FONT FACE=Verdana SIZE=1 COLOR=#000000><B><a href='" & Request.ServerVariables("SCRIPT_NAME") & "?pagina=" & pagina-1 & "'>Anterior</a> ")
Else
Response.Write("<center><FONT FACE=Verdana SIZE=1 COLOR=#000000><B>Anterior")
End If

' Lista todas as páginas encontradas
if objRs.PageCount < 11 then
For i = 1 To objRS.PageCount
  response.write("<a href='" & Request.ServerVariables("SCRIPT_NAME") & "?pagina=" & i & "'>" & i & "</a> ")
Next
end if

if objRs.PageCount > 10 then
    inicio=pagina
    fim=pagina + 9
    tot = pagina + 9
    if tot > ObjRS.PageCount then
      inicio = pagina-((pagina+9)-ObjRs.PageCount)
      fim = inicio+9
    end if
    for i = inicio to fim
        response.write("<a href='" & Request.ServerVariables("SCRIPT_NAME") & "?pagina=" & i & "'>" & i & "</a> ")
    next
end if


' Se a variável pagina for menor que o total de páginas então imprime o botão Próxima com link
' Senão imprime sem link
If CInt(pagina) < objRS.PageCount Then
Response.Write("<a href='" & Request.ServerVariables("SCRIPT_NAME") & "?pagina=" & pagina+1 & "'>Próxima</a></B></FONT></center>")
Else
Response.Write("Próxima</B></FONT></center>")
End If
End If
%>




<%While Not objRS.EOF AND cont < objRS.PageSize%>
<tr bgcolor="#0099CC" bordercolor="0">
  <td height="7" width="110" align="left"><font size="1" face="Verdana"><b><%=objRS("cliente")%></b></font></td>
  <td height="7" width="110" align="center"><font size="1" face="Verdana"><b><%=objRS("fone")%></b></font></td>
  <td height="7" width="83" align="center"><font size="1" face="Verdana"><b><%=objRS("endereco")%></b></font></td>
  <td height="7" width="70" align="center"><font size="1" face="Verdana"><b><%=objRS("numero")%></b></font></td>
  <td height="7" width="107" align="center"><font size="1" face="Verdana"><b><%=objRS("bairro")%></b></font></td>
  <td height="7" width="55" align="center">
  <a href="../action_altera.asp?id=<%=objRS("id")%>" OnClick="return confirm('Deseja Realmente Alterar ?')">
  <img src="imagens/edit.gif" width="16" height="16" border="0" alt="Clic aqui para Alterar.">
  </a>  
</td>
<%
cont = cont + 1
objRS.MoveNext
Wend
%>
</tr>
</table>
<%
' Fecha e destroi os objetos RS e conn
objRS.Close : objconn.Close
Set RS = Nothing : Set objconn = Nothing
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que não é bem paginação o que ele quer. Geralmente usamos paginação quando queremos exibir vários registros e que, devido a quantidade, precisam ser separados por páginas. No caso dele, ele precisa que NO REGISTRO em si apareçam os botões de anterior e próximo, ou seja, acredito eu não ser um caso pra se utilizar paginação. No meu code ali está bem simples, ele pega o último registro menor do que o atual e o primeiro registro maior que o atual, ou seja, anterior e próximo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola xanburzum,

 

Bom utilizei seu exemplo e era isso mesmo que precisava agora so queria saber se tem como dentro deste mesmo cod eu filtrar para que ele exiba somente os produtos de uma categoria que eu informe dentro do próprio código, na verdade eu vou ter 2 paginas um para 1 Categoria de Produtos e outra para a 2 Categoria de Produtos...

 

Abracs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Filtra no SELECT ué. Se você tiver por exemplo um id_categoria na tabela, você pode fazer pra ordenar por id_categoria ASC por exemplo, assim será listado todos os registros da categoria 1, depois todos da categoria 2, e assim vai ..

 

Ou pra filtrar você filtra no WHERE pelas categorias ..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola Felipe , beleza

 

Tente assim :

 

modelo="CALCA"
StrQuery = " SELECT * FROM Cigarrete WHERE modelo = "& modelo &" ORDER BY id DESC"

 

Mas da erro ...

 

O que to errando ?

 

Abracs

Compartilhar este post


Link para o post
Compartilhar em outros sites

qual erro ele gera ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

ADODB.Recordset error '800a0bb9'

Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another.

/teste2.asp, line 68 

 

Vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola Felipe beleza..

 

Fiz como citou mas ainda continua o mesmo erro .. segue como esta os dados da minha tabela :

 

Nome da Tabela : Cigarete

Campos: Id, Ref , Descricao , Modelo

 

Exemplo:

 

Estão cadastrados como :

 

REF - DESCRICAO - MODELO

100 - CALCA JEANS - CALCA

101 - BERMUDA - BERMUDA

 

 

Gstaria de mostrar apenas as que tem o MODELO = CALCA

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso é muitas vezes porque você usou uma palavra reservada, "amigável" para variaveis em vez das constantes (que são os únicos valores compreendidos pelo engine), sem incluir ADOVBS.INC. Então, uma solução rápida é ter certeza que você incluiu ADOVBS.INC

Compartilhar este post


Link para o post
Compartilhar em outros sites

Segue :

 

<%
caminho = "produtos.mdb"

set objconn = Server.CreateObject("ADODB.Connection")
DSN = "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath(caminho)
objconn.Open DSN

StrQuery = " SELECT * FROM Cigarrete WHERE modelo = '"& modelo &"' ORDER BY id DESC"


SET objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open SQL,objconn,3

If objRS.EOF Then
Response.Write("Nenhum registro foi encontrado")
Else
' Definindo o número de registros por página
objRS.PageSize = 1

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.