Ir para conteúdo

POWERED BY:

Arquivado

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

Neji

[Resolvido] paginacao usando where

Recommended Posts

boas a todos.

 

e assim estou a usar este codigo em varias paginas e nao me tem dado problemas mas agora decidi implementar o where e quando muda de pagina diz me que nao ha registos, ja tenho este problema ha muito tempo e nao sei como resolver.

 

<!--#include file="conn.asp" -->

<html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<title>Paginação com ASP e MySQL</title>

<body>
<%
nome4=request.QueryString("id")
Dim rs, PagNav, TotalPag
Dim Anterior, Proximo, PagAtual, PaginaVisita

Set rs = Server.CreateObject("Adodb.RecordSet")
	
Conexao.CursorLocation = 3
rs.pagesize = 10

rs.Open "SELECT * FROM calendario " &_
"where nomeclube='"&nome4&"' " &_
"order by jornada asc",Conexao

If rs.Eof Then
Response.Write("Não há registros")
else
PagNav = CInt(Request.QueryString("pagina"))
If PagNav = 0 Then : PagNav = 1 : End If
	
rs.AbsolutePage = PagNav
TotalPag = rs.PageCount
%>
	  

<div id="dados">

   <table  class="sortable" >

	<tD align="center"><B>Jornada</B></tH>  <tD align="center"><B>Adversario</B></tH>  <tD align="center"><B>Localidade</B></tH>  
	<tD align="center"><B>Dia Do Jogo</B></tH>  <tD align="center"><B>Horas Do Jogo</B></tH> <tD align="center"><B>Resultados</B></tH> 
 <tr>
	  
<% While Not rs.Eof And rs.AbsolutePage = PagNav %>


		<td align="center" >
			<%=RS("jornada")%>
</td>
		<td align="center" >
			<%=RS("adversario")%>
		</td>
				<td align="center">
			<%=RS("local")%>
			</td>
 			<td align="center" >
			<%=RS("data")%>
			</td>
			<td align="center" >
			<%=RS("hora")%>
		</td>
			<td align="center" >
			<%=RS("resultado")%>
	</td>


</tr>

</div>
</div>
<%
rs.MoveNext : Wend

Anterior = PagNav - 1
Proximo = PagNav + 1

If Anterior <= 0 Then : Anterior = 1 : End If
If Proximo > TotalPag Then : Proximo = TotalPag : End If
%>
</table>
</div>

<div id="indice">
<%
If Request.QueryString("pagina") = "" Then
Response.Write("Página 1 de "&TotalPag&"")
Else
Response.Write("Página "&Request.QueryString("pagina")&" de "&TotalPag&"")
End If
%>
</div>  
		
		
<div id="paginacao">
		
<%
PaginaVisita = CInt(Request.QueryString("pagina"))

MontaLink = Request.ServerVariables("SCRIPT_NAME")+"?variavel=teste&"

If PagNav = 1 Then
Response.Write("<div class='pag-navegacao-off'> « primeira </div>")
else
Response.Write("<div class='pag-navegacao'><a href="""&MontaLink&"pagina=1""> « primeira </a></div>")
end if

If PagNav > 1 Then
Response.Write("<div class='pag-navegacao'><a href="""&MontaLink&"pagina="&Anterior&"""> «anterior </a></div>")
else
Response.Write("<div class='pag-navegacao-off'> «anterior </div>")
End If


If PagNav > 5 Then
Response.Write("<div class='pag-pontinhos'> ... </div>")
End If


If PagNav <= 5 Then
If TotalPag >= 5 Then
For PagAtual = 1 To 5
If PagNav = PagAtual Then
Response.Write("<div class='pag-atual'> "&PagAtual&" </div>")
Else
Response.Write("<div class='pag-link'><a href="""&MontaLink&"pagina="&PagAtual&"""> "&PagAtual&" </a></div>")
End If
Next
Else

For PagAtual = 1 To TotalPag
If PagNav = PagAtual Then
Response.Write("<div class='pag-atual'> "&PagAtual&" </div>")
Else
Response.Write("<div class='pag-link'><a href="""&MontaLink&"pagina="&PagAtual&"""> "&PagAtual&" </a></div>")
End If
Next
End If
End If
		
	
If PagNav > 5 Then
PagNav = PagNav + 4
Pg = PagNav
MaxB = Request.QueryString("pagina") - 1

			
If (MaxB + 1) = TotalPag Then
For PagAtual = MaxB To Pg - 4
If PaginaVisita = PagAtual Then
Response.Write("<div class='pag-atual'> "&PagAtual&" </div>")
Else
Response.Write("<div class='pag-link'><a href="""&MontaLink&"pagina="&PagAtual&"""> "&PagAtual&" </a></div>")
End If
Next			


ElseIf (MaxB + 2) = TotalPag Then
For PagAtual = MaxB To Pg - 3
If PaginaVisita = PagAtual Then
Response.Write("<div class='pag-atual'> "&PagAtual&" </div>")
Else
Response.Write("<div class='pag-link'><a href="""&MontaLink&"pagina="&PagAtual&"""> "&PagAtual&" </a></div>")
End If
Next
Else


For PagAtual = (MaxB - 1) To Pg - 2
If PaginaVisita = PagAtual Then
Response.Write("<div class='pag-atual'> "&PagAtual&" </div>")
Else
Response.Write("<div class='pag-link'><a href="""&MontaLink&"pagina="&PagAtual&"""> "&PagAtual&" </a></div>")
End If
Next
End If
End If

		
If (TotalPag <> PaginaVisita) And (TotalPag > 5) Then
Response.Write("<div class='pag-pontinhos'> ... </div>")
End If


If PaginaVisita = TotalPag Then
Response.Write("<div class='pag-navegacao-off'> próxima» </div>")
else
Response.Write("<div class='pag-navegacao'><a href="""&MontaLink&"pagina="&Proximo&"""> próxima» </a></div>")End If

If PaginaVisita = TotalPag Then
Response.Write("<div class='pag-navegacao-off'> última » </div>")
else
Response.Write("<div class='pag-navegacao'><a href="""&MontaLink&"pagina="&TotalPag&"""> última » </a></div>")
end if

%>

</div>

<%
End If
Set rs = Nothing
%>

</div>

</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você tem que acrescentar o ID como parâmetro nos links da paginação.

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha um sismples exemplo

 

<%

cn.open
'pega a pagina atual
pagina = request.ServerVariables("SCRIPT_NAME")

'numero de registros por pagina...
pageSize = 3

if(len(Request.QueryString("p")) = 0 )then
  paginaAtual = 1
else
  paginaAtual = CInt(Request.QueryString("p"))
end if

' conta o numero de registros...
sql = "SELECT COUNT(*) AS total FROM noticias"
set rs = cn.execute(sql)

'total de registros
recordCount = Cint(rs("total"))

'calculamos o numero de paginas...

pageCount = Clng(recordCount / pageSize)

rs.Close()


Flag1 = INT(paginaAtual / pagesize)

PI = INT(Flag1 * pagesize)

IF PI = 0 THEN
PI = 1
END IF
PF = PI + pagesize - 1

' selecionamos os registros...
sql = "SELECT * FROM noticias LIMIT " & (paginaAtual - 1) * pageSize & " , " & pageSize

set rs = cn.execute(sql)
	  
do while not rs.eof
' aqui entra o q você quer exibir
  Response.Write rs("id_noticia") &" - "& rs("titulo_noticia") & "<br>"
  rs.MoveNext()
loop

rs.Close()
set rs = nothing
cn.Close()
set cn = nothing

Response.Write ("<B><strong> Página " & paginaAtual & " de " & pagecount & " </strong></B><br>")
' cria os links de pagians...
IF CInt(paginaAtual) > 1 THEN
Response.Write "<a href='"&pagina&"?p=1'>Primeira</a> "
Else
Response.Write "<font color=""#ADADAD"">Primeira</font> "
END IF

if CInt(paginaAtual) > 1 then
Response.Write "<a href='"&pagina&"?p=" & paginaAtual - 1 &"'>Anterior</a> "
Else
Response.Write "<font color='#666666'>Anterior</font>  "
END IF

for i=1 to pageCount
  Response.Write("<a href='"&pagina&"?p=" & i & "'>" & i & "</a> ")
next
  

IF (CInt(paginaAtual) < pagecount) THEN
	 IF CInt(PF) <> pagecount THEN
   Response.Write "<a href='"&pagina&"?p=" & paginaAtual+1 & "'>Próxima</a> "
  END IF
Else
  Response.Write "<font color=""#ADADAD"">Próxima</font> "
END IF


IF (CInt(paginaAtual) <> pagecount) THEN
	 IF CInt(PF) <> pagecount THEN
   Response.Write "<a href='"&pagina&"?p=" & pagecount & "'>Última</a> "
  END IF
Else
  Response.Write "<font color=""#ADADAD"">Última</font> "
  END IF


%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

onde tenho de acrescentar o id hargon?

 

(agradeço imenso xanburzum mais logo vou analisar e que agora estou com um bocado de pressa)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você tem procurar entender o código... veja essa variável MONTARLINK

MontaLink = Request.ServerVariables("SCRIPT_NAME")+"?variavel=teste&"

 

Ao que tudo indica é só acrescentar

MontaLink = Request.ServerVariables("SCRIPT_NAME")+"?variavel=teste&id="& nome4 & "&"

Compartilhar este post


Link para o post
Compartilhar em outros sites

obrigado hargon já dá =)

 

E já agora você tem razão só que eu estou com a corda ao pescoço por isso tenho de acabar isto depressa, e já tive a analisar o código mas demorava um bocado para entender todo a 100% afinal de contas tenho 3 anos de programação e não intensiva de qualquer modo volto a agradecer

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.