Ir para conteúdo

POWERED BY:

Arquivado

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

lezão

Erro em paginação

Recommended Posts

Ola galera, boa noite!

estou um probleminha com um codigo de paginação

ele naun esta capturando sempre o ultimo ID do banco.

Se o banco possui 10 ID ele me mostra 9.

 

codigo

<% registros = 6
pagina = Request.QueryString("pagina")
If pagina = "" Then
pagina = 1
End If

'Efetuando a conexão com a base de dados criada -----------------------
Set conexao = Server.CreateObject("AdoDb.Connection")
conexao.provider="Microsoft.Jet.OLEDB.4.0"
conexao.connectionstring=Server.Mappath("dados/DataBase11.mdb")
conexao.open

Set rs = Server.Createobject("ADODB.RECORDSET")
set rs.ActiveConnection = Conexao
rs.CursorType = 3
rs.PageSize = registros 

sql = "SELECT * FROM Videos ORDER BY id DESC"
rs.Open sql
If rs.EOF Then
Response.Write "<center><font color= #FFFFFF face=Verdana size=2><b>Nenhum registro encontrado!</b><br><br><a href=javascript:history.back(-1)><font face=Verdana, Arial, Helvetica, sans-serif size=1>Voltar</font></a> </center></font>"


Else
rs.AbsolutePage = pagina
%>

<table width="95" height="105" border="0" cellpadding="3" cellspacing="3">
 <tr>
  <%	While Not rs.EOF AND x < rs.PageSize	
  	x = x + 1 
q = q + 1
%> 
   <td width="80">
<table width="80" border="0" cellspacing="0" cellpadding="0">
     <tr>
       <td width="80" height="80">

	<table width="80" border="0" cellspacing="0" cellpadding="0">
         <tr>
           <td width="89%" class="texto" style="border: 2px solid #FFFFFF"><a href="<%=rs("video")%>" rel="vidbox" title="Dica de Hoje: <%=rs("Nome")%>"><img border="0" src="http://img.youtube.com/vi/<%=rs("foto")%>/2.jpg" width="81" height="75"  /></a></div></td>
         </tr>
       </table></td>
     </tr>
   </table>
</td>
<% If q = 3 Then %> 
 </tr>
  <tr><%	 	
	q = 0  	
		End If    	
rs.MoveNext

		Wend
%></tr>
</table>


<table width="100%" border="0" cellspacing="0" cellpadding="0">
 <tr>
   <td>
  <div align="center"><font size="1" color="#FF00FF" face="Verdana">

    <%

	anterior = pagina - 1
proxima = pagina + 1
ultima = rs.PageCount
primeira = 1
ultm2 = FormatNumber(rs.PageCount - 1,0)
If pagina <> 1 Then
Response.Write "<b> <a href=index.asp?pagina="&primeira&">« Anterior</a></b> "
End If
If pagina > 1 AND pagina <> 2 Then
Response.Write " <b>[ <a href=index.asp?pagina="&anterior - 1&">"&anterior - 1&"</a> ]</b> "
End If
If pagina > 1 Then
Response.Write "<b>[ <a href=index.asp?pagina="&anterior&">"&anterior&"</a> ]</b> "
End If
Response.Write "<b>[ "&pagina&" ]</b> "
If Not rs.EOF Then
Response.Write "<b>[ <a href=index.asp?pagina="&proxima&">"&proxima&"</a> ]</b> "
End If
If Not rs.EOF AND pagina <> ultima AND pagina <> ultm2 Then
Response.Write "<b>[ <a href=index.asp?pagina="&proxima + 1&">"&proxima + 1&"</a> ]</b> "
End If
If Not rs.EOF Then
Response.Write "<b><a href=index.asp?pagina="&ultima&">Próxima »</a> </b> "
End If 

rs.Close
Set rs = Nothing  
End If %>
       </font>

     </div>

 

veja como esta

Clique aqui

Compartilhar este post


Link para o post
Compartilhar em outros sites

é a sua lógica de paginação, 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

Xan naun estou conseguindo fazer funcionar, esta dando este erro!


Microsoft VBScript runtime error '800a01a8'

Object required: 'Server'

/public_html/latemiamedvet/teste.asp, line 16

 

aonde esta o erro


DSN = "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath(DataBase11.mdb)
objconn.Open DSN

 

Xan me desculpe, agora eu consegui valeu meu amigo !

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.