Seguinte: Eu to incluindo uma paginação em um resultado de um busca ate ai tudo bem consegui fazer ele exibe certinho os resultados a la em baixo ele colocar as páginas 1,2,34,...
Porem quando clica em um desses numeros pra pular pra pagina seguinte ele pula, porem mostras todos os resultados do banco e não obdece a paginação.
<%
Set banco=server.CreateObject("ADODB.Connection")
banco.open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=E:\home\onlineon1\web\busca2\AllBusca.mdb"
Set rs=server.CreateObject ("ADODB.RecordSet")
sql = "SELECT * FROM allbusca WHERE palavrachave LIKE '%"&busca&"%'"
rs.open sql, banco,3,3
'------- Coloque aqui a quantidade de registros que você deseja por página --------
Const NumPorPage = 15
'Verifica qual a página solicitada
Dim PagAtual
IF Request.QueryString("PagAtual") = "" Then
PagAtual = 1 'Primeira página
Else
PagAtual = Request.QueryString("PagAtual")
End If
'Cria conexão com o Banco de Dados, já abrir anteriormente
'Criado anteriormente Set RS = Server.CreateObject("ADODB.Recordset")
'>>> FIZ EM CIMA rs.CursorLocation = 3 Acerta a posição do cursor . 3 ou adUseClient
rs.CacheSize = NumPorPage 'Define o tamanho do Cache = para o número de registros
'Cria a String SQL
'>>> FIZ EM CIMA Dim SQLpag
'>>> FIZ EM CIMA SQLpag = "SELECT * FROM jogos"
'>>> FIZ EM CIMA RS.Open SQLpag, Conn Abre o RecordSet
rs.MoveFirst 'Move o RecorSet para o início
rs.PageSize = NumPorPage 'Coloca a quantidade de páginas
Dim TotalPages 'Pega o número total de páginas
TotalPages = rs.PageCount
rs.AbsolutePage = PagAtual 'Configura a página atual
'############## paginacao Introdução - FIM #################
Count = 0 'Zera o contador
'Inicia a Função DO, utilizando a quantidade de páginas especificadas
'Ou seja ele irá executar a ação até que o valor Count seja menor que "20" como está no nosso exemplo
i = 0
DO WHILE NOT rs.EOF And Count < rs.PageSize 'paginacao And Count < rs.PageSize
' ----- linhas coloridas -------
if i mod 2<>0 then
cor = "#F4F4F4"
else
cor = "#e1e1e1"
end if
'-------------------------------
if rs.recordcount > 10 then
rs.movefirst
Response.write "<Table cellpading = 0 cellspacing = 0>"
while not rs.EOF
if Not Left(Ucase(rs("URL")),7) = "HTTP://" then
curl="http://"&rs("URL")
else
curl = rs("URL")
end if
<tr>
<td colspan="2"><hr size="1" color="#c0c0c0" width="100%"></td>
</tr> <%
i = i+1
Count = Count + 1 'paginacao
rs.movenext
wend
Response.write "</table>"
Else
Response.write busca
End if
LOOP
%>
<%'Coloca o Nº página atual / Nº Total de páginas
'Response.Write("<B><font color=""#006600"" size=""2"" face=""Arial""><strong> Página " & Pag'Atual & " de " & TotalPages & " </strong></font></B> - ")
'Mostra os botões: Anterior e Próximo, utilizando da opção de IF
var01 = Len(PagAtual) 'Lê o tamanho do numero
var02 = var01 - 1 'subtrai um da variavel , retirando o digito menos sig.
var03 = Left(PagAtual,var02) 'obtem os digitos mais sig. do numero
var04 = Right(PagAtual,1) 'obtem o digito menos sig. do numero
var05 = var03 & 0 ' Acrecenta ZERO no final
IF var04 <> 0 THEN ' condição se o digito menos sig. é Zero
inicial = var05 + 1
final = inicial + 9
ELSE
inicial = var05 - 9
final = var05
END IF
indice_i = var04 - 1 'ultimo digito - 1
indice_f = 10 - var04 ' 10 - digito menos sig.
If CInt(final) > CInt(TotalPages) Then final = TotalPages
IF PagAtual > 1 THEN
'Se for a primeira página, Mostra apenas o botão Próximo e Ultima
Response.Write("<B><font color=""#660066"" size=""2"" face=""Arial"">")
Response.Write("<a href='buscando2.asp?PagAtual=" & 1 & "'>")
Response.Write("<img src='images/primeira.gif'border='0' alt='Primeira página'>")
Response.Write("</a></font></B> ")
Response.Write("<B><font color=""#660066"" size=""2"" face=""Arial"">")
Response.Write("<a href='buscando2.asp?PagAtual=" & PagAtual - 1 & "'>")
Response.Write ("<img src='images/anterior.gif' border='0' alt='Página anterior'>")
Response.Write("</a></font></B> ")
IF PagAtual > 10 THEN
Response.Write("<B><font color=""#660066"" size=""2"" face=""Arial"">")
Response.Write("<a href='buscando2.asp?PagAtual=" & inicial - 1 & "'>")
Response.Write("...")
Response.Write("</a></font></B> ")
ELSE
Response.Write("<B><font color=""#CCCCCC"" size=""2"" face=""Arial"">")
Response.Write("....")
Response.Write("</font></B> ")
END IF
Else
Response.Write("<B><font color=""#EEEEEE"" size=""2"" face=""Arial"">")
Response.Write("<img src='images/primeira.gif' border='0' alt='Primeira página'>")
Response.Write("</font></B> ")
Response.Write("<B><font color=""#CCCCCC"" size=""2"" face=""Arial"">")
Response.Write("<img src='images/anterior.gif' border='0' alt='Página anterior'>")
Response.Write("</font></B> ")
Response.Write("<B><font color=""#CCCCCC"" size=""2"" face=""Arial"">")
Response.Write("...")
Response.Write("</font></B> ")
End If
'---------------------- NUMEROS ---------------------------
For i = inicial To final
If CInt(i)=CInt(PagAtual) Then
Response.Write "<font color=""#660066"" size=""2"" face=""Arial"">[ <B>" & i & "</B> <font color=""#660066"">]</font> "
END IF
If CInt(i) < CInt(PagAtual) Then
Response.Write "<font color=""#660066"" size=""2"" face=""Arial""><a href='buscando2.asp?PagAtual=" & i & "' style='color=#666666'>" & i & "</a></font> "
END IF
If CInt(i) > CInt(PagAtual) Then
Response.Write "<font color=""#660066"" size=""2"" face=""Arial""><a href='buscando2.asp?PagAtual=" & i & "'>" & i & "</a></font> "
END IF
Next
IF CInt(PagAtual) <> CInt(TotalPages) THEN
p1 = Left(PagAtual,var02)
p2 = Left(TotalPages,var02)
p3 = Left(TotalPages,var02) & 0
IF (p1 > PagAtual) or ((PagAtual <= 10) and (TotalPages > 10)) THEN
Response.Write("<B><font color=""#660066"" size=""2"" face=""Arial"">")
Response.Write("<a href='buscando2.asp?PagAtual=" & final + 1 & "'>")
Response.Write("...")
Response.Write("</a></font></B> ")
ELSE
Response.Write("<B><font color=""#CCCCCC"" size=""2"" face=""Arial"">")
Response.Write("...")
Response.Write("</font></B> ")
END IF
Response.Write("<B><font color=""#660066"" size=""2"" face=""Arial"">")
Response.Write("<a href='buscando2.asp?PagAtual=" & PagAtual + 1 & "'>")
Response.Write("<img src='images/proxima.gif' border='0' alt='Próxima página'>")
Response.Write("</a></font></B> ")
Response.Write("<B><font color=""#660066"" size=""2"" face=""Arial"">")
Response.Write("<a href='buscando2.asp?PagAtual=" & TotalPages & "'>")
Response.Write("<img src='images/ultima.gif' border='0' alt='Ultima página'>")
Response.Write("</a></font></B> ")
ELSE
Response.Write("<B><font color=""#666666"" size=""2"" face=""Arial"">")
Response.Write("...")
Response.Write("</font></B> ")
Response.Write("<B><font color=""#666666"" size=""2"" face=""Arial"">")
Response.Write("<img src='images/proxima.gif' border='0' alt='Próxima página'>")
Response.Write("</font></B> ")
Response.Write("<B><font color=""#666666"" size=""2"" face=""Arial"">")
Response.Write("<img src='images/ultima.gif' border='0' alt='Ultima página'>")
Response.Write("</font></B> ")
End If
Rs.Close
Set RS = Nothing
banco.Close
Set Conn = Nothing %>
</body>
Pergunta
wsales
Oi Galera to precisando de uma ajudinha.
Seguinte: Eu to incluindo uma paginação em um resultado de um busca ate ai tudo bem consegui fazer ele exibe certinho os resultados a la em baixo ele colocar as páginas 1,2,34,...
Porem quando clica em um desses numeros pra pular pra pagina seguinte ele pula, porem mostras todos os resultados do banco e não obdece a paginação.
alguém pode dizer onde ta esse erro??
abaixo o código.
<%
Busca = Ucase (Request.form("buscando"))
%>
<html>
<head>
<title>Buscando</title>
</head>
<style type="text/css">
a:link, a:visited {
text-decoration: none
}
a:hover {
text-decoration: none
}
a:active {
text-decoration: none
}
</style>
<body>
<br>
<%
Set banco=server.CreateObject("ADODB.Connection")
banco.open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=E:\home\onlineon1\web\busca2\AllBusca.mdb"
Set rs=server.CreateObject ("ADODB.RecordSet")
sql = "SELECT * FROM allbusca WHERE palavrachave LIKE '%"&busca&"%'"
rs.open sql, banco,3,3
'############## paginacao Introdução #################
'------- Coloque aqui a quantidade de registros que você deseja por página --------
Const NumPorPage = 15
'Verifica qual a página solicitada
Dim PagAtual
IF Request.QueryString("PagAtual") = "" Then
PagAtual = 1 'Primeira página
Else
PagAtual = Request.QueryString("PagAtual")
End If
'Cria conexão com o Banco de Dados, já abrir anteriormente
'Criado anteriormente Set RS = Server.CreateObject("ADODB.Recordset")
'>>> FIZ EM CIMA rs.CursorLocation = 3 Acerta a posição do cursor . 3 ou adUseClient
rs.CacheSize = NumPorPage 'Define o tamanho do Cache = para o número de registros
'Cria a String SQL
'>>> FIZ EM CIMA Dim SQLpag
'>>> FIZ EM CIMA SQLpag = "SELECT * FROM jogos"
'>>> FIZ EM CIMA RS.Open SQLpag, Conn Abre o RecordSet
rs.MoveFirst 'Move o RecorSet para o início
rs.PageSize = NumPorPage 'Coloca a quantidade de páginas
Dim TotalPages 'Pega o número total de páginas
TotalPages = rs.PageCount
rs.AbsolutePage = PagAtual 'Configura a página atual
'############## paginacao Introdução - FIM #################
Count = 0 'Zera o contador
'Inicia a Função DO, utilizando a quantidade de páginas especificadas
'Ou seja ele irá executar a ação até que o valor Count seja menor que "20" como está no nosso exemplo
i = 0
DO WHILE NOT rs.EOF And Count < rs.PageSize 'paginacao And Count < rs.PageSize
' ----- linhas coloridas -------
if i mod 2<>0 then
cor = "#F4F4F4"
else
cor = "#e1e1e1"
end if
'-------------------------------
if rs.recordcount > 10 then
rs.movefirst
Response.write "<Table cellpading = 0 cellspacing = 0>"
while not rs.EOF
if Not Left(Ucase(rs("URL")),7) = "HTTP://" then
curl="http://"&rs("URL")
else
curl = rs("URL")
end if
%>
<br>
<br>
<table width="100%">
<Tr>
<td width="95"><A HREF=<%=curl%>><img src="<%=rs("foto")%>" width="90" height="68" border="0" alt=""></a></td> <td>
<font color="silver" size="2" face="arial, verdana, tahoma"><%=rs("data")%>
<br>
<font color="#4a494b" size="3" face="arial, verdana, tahoma"><strong><%=rs("titulo")%></strong></font>
<br>
<A HREF=<%=curl%>><font color="#4a494b" size="3" face="arial, verdana, tahoma"><%
desc = Replace (rs.fields("descricao"),chr(10),"<BR>")
Response.write desc
%></font></a>
<br>
</td>
</tr>
<tr>
<td colspan="2"><hr size="1" color="#c0c0c0" width="100%"></td>
</tr> <%
i = i+1
Count = Count + 1 'paginacao
rs.movenext
wend
Response.write "</table>"
Else
Response.write busca
End if
LOOP
%>
<%'Coloca o Nº página atual / Nº Total de páginas
'Response.Write("<B><font color=""#006600"" size=""2"" face=""Arial""><strong> Página " & Pag'Atual & " de " & TotalPages & " </strong></font></B> - ")
'Mostra os botões: Anterior e Próximo, utilizando da opção de IF
var01 = Len(PagAtual) 'Lê o tamanho do numero
var02 = var01 - 1 'subtrai um da variavel , retirando o digito menos sig.
var03 = Left(PagAtual,var02) 'obtem os digitos mais sig. do numero
var04 = Right(PagAtual,1) 'obtem o digito menos sig. do numero
var05 = var03 & 0 ' Acrecenta ZERO no final
IF var04 <> 0 THEN ' condição se o digito menos sig. é Zero
inicial = var05 + 1
final = inicial + 9
ELSE
inicial = var05 - 9
final = var05
END IF
indice_i = var04 - 1 'ultimo digito - 1
indice_f = 10 - var04 ' 10 - digito menos sig.
If CInt(final) > CInt(TotalPages) Then final = TotalPages
IF PagAtual > 1 THEN
'Se for a primeira página, Mostra apenas o botão Próximo e Ultima
Response.Write("<B><font color=""#660066"" size=""2"" face=""Arial"">")
Response.Write("<a href='buscando2.asp?PagAtual=" & 1 & "'>")
Response.Write("<img src='images/primeira.gif'border='0' alt='Primeira página'>")
Response.Write("</a></font></B> ")
Response.Write("<B><font color=""#660066"" size=""2"" face=""Arial"">")
Response.Write("<a href='buscando2.asp?PagAtual=" & PagAtual - 1 & "'>")
Response.Write ("<img src='images/anterior.gif' border='0' alt='Página anterior'>")
Response.Write("</a></font></B> ")
IF PagAtual > 10 THEN
Response.Write("<B><font color=""#660066"" size=""2"" face=""Arial"">")
Response.Write("<a href='buscando2.asp?PagAtual=" & inicial - 1 & "'>")
Response.Write("...")
Response.Write("</a></font></B> ")
ELSE
Response.Write("<B><font color=""#CCCCCC"" size=""2"" face=""Arial"">")
Response.Write("....")
Response.Write("</font></B> ")
END IF
Else
Response.Write("<B><font color=""#EEEEEE"" size=""2"" face=""Arial"">")
Response.Write("<img src='images/primeira.gif' border='0' alt='Primeira página'>")
Response.Write("</font></B> ")
Response.Write("<B><font color=""#CCCCCC"" size=""2"" face=""Arial"">")
Response.Write("<img src='images/anterior.gif' border='0' alt='Página anterior'>")
Response.Write("</font></B> ")
Response.Write("<B><font color=""#CCCCCC"" size=""2"" face=""Arial"">")
Response.Write("...")
Response.Write("</font></B> ")
End If
'---------------------- NUMEROS ---------------------------
For i = inicial To final
If CInt(i)=CInt(PagAtual) Then
Response.Write "<font color=""#660066"" size=""2"" face=""Arial"">[ <B>" & i & "</B> <font color=""#660066"">]</font> "
END IF
If CInt(i) < CInt(PagAtual) Then
Response.Write "<font color=""#660066"" size=""2"" face=""Arial""><a href='buscando2.asp?PagAtual=" & i & "' style='color=#666666'>" & i & "</a></font> "
END IF
If CInt(i) > CInt(PagAtual) Then
Response.Write "<font color=""#660066"" size=""2"" face=""Arial""><a href='buscando2.asp?PagAtual=" & i & "'>" & i & "</a></font> "
END IF
Next
IF CInt(PagAtual) <> CInt(TotalPages) THEN
p1 = Left(PagAtual,var02)
p2 = Left(TotalPages,var02)
p3 = Left(TotalPages,var02) & 0
IF (p1 > PagAtual) or ((PagAtual <= 10) and (TotalPages > 10)) THEN
Response.Write("<B><font color=""#660066"" size=""2"" face=""Arial"">")
Response.Write("<a href='buscando2.asp?PagAtual=" & final + 1 & "'>")
Response.Write("...")
Response.Write("</a></font></B> ")
ELSE
Response.Write("<B><font color=""#CCCCCC"" size=""2"" face=""Arial"">")
Response.Write("...")
Response.Write("</font></B> ")
END IF
Response.Write("<B><font color=""#660066"" size=""2"" face=""Arial"">")
Response.Write("<a href='buscando2.asp?PagAtual=" & PagAtual + 1 & "'>")
Response.Write("<img src='images/proxima.gif' border='0' alt='Próxima página'>")
Response.Write("</a></font></B> ")
Response.Write("<B><font color=""#660066"" size=""2"" face=""Arial"">")
Response.Write("<a href='buscando2.asp?PagAtual=" & TotalPages & "'>")
Response.Write("<img src='images/ultima.gif' border='0' alt='Ultima página'>")
Response.Write("</a></font></B> ")
ELSE
Response.Write("<B><font color=""#666666"" size=""2"" face=""Arial"">")
Response.Write("...")
Response.Write("</font></B> ")
Response.Write("<B><font color=""#666666"" size=""2"" face=""Arial"">")
Response.Write("<img src='images/proxima.gif' border='0' alt='Próxima página'>")
Response.Write("</font></B> ")
Response.Write("<B><font color=""#666666"" size=""2"" face=""Arial"">")
Response.Write("<img src='images/ultima.gif' border='0' alt='Ultima página'>")
Response.Write("</font></B> ")
End If
Rs.Close
Set RS = Nothing
banco.Close
Set Conn = Nothing %>
</body>
valeu!!
Editado por wsalesLink para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.