Ir para conteúdo

POWERED BY:

Arquivado

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

Loko da Web

[Resolvido] Paginação em tabelas e linhas

Recommended Posts

Boa noite !!!

 

Estou montando um sistema de locadora... fiz uma form de busca de filmes, tudo perfeito, o problema é a organizacao dela em tabelas.

 

Configurei pra mostra 4 registro por pagina em duas tabelas, o porem é que esta mostrando todos os registro do filme que foi buscado no form, aparece a paginacao, mas conforme vai clicando, vai diminuindo, até chegar em duas linhas com duas colunas. Pra visulizar o melhor segue o link.

 

http://www.aspet.somee.com/locadora/locado...t=&pagina=1

 

O codigo do loop

 

<tr>
<td>
<table BORDER="1" cellspacing="0" cellpadding="0" width=500>
<% rs.absolutepage = pag
   do while not rs.EOF and contador < rs.pagesize
   if contador=0 then
   response.write "<tr>"
  end if
  response.write "<td align=""center"">"
%>
<img src="produtos/<%=rs("impeq")%>" border="0">

<%
  response.write "</td>"
  contador = contador + 1
  if contador=2  then ' quantidade de colunas
	response.write "</tr>"
	contador=0
  end if

  rs.MoveNext
Loop
%> 
</td></tr></table>

Se precisarem do cod completo, é só falar !!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa noite !!!

 

Estou montando um sistema de locadora... fiz uma form de busca de filmes, tudo perfeito, o problema é a organizacao dela em tabelas.

 

Configurei pra mostra 4 registro por pagina em duas tabelas, o porem é que esta mostrando todos os registro do filme que foi buscado no form, aparece a paginacao, mas conforme vai clicando, vai diminuindo, até chegar em duas linhas com duas colunas. Pra visulizar o melhor segue o link.

 

http://www.aspet.somee.com/locadora/locado...t=&pagina=1

 

O codigo do loop

 

<tr>
<td>
<table BORDER="1" cellspacing="0" cellpadding="0" width=500>
<% rs.absolutepage = pag
   do while not rs.EOF and contador < rs.pagesize
   if contador=0 then
   response.write "<tr>"
  end if
  response.write "<td align=""center"">"
%>
<img src="produtos/<%=rs("impeq")%>" border="0">

<%
  response.write "</td>"
  contador = contador + 1
  if contador=2  then ' quantidade de colunas
	response.write "</tr>"
	contador=0
  end if

  rs.MoveNext
Loop
%> 
</td></tr></table>

Se precisarem do cod completo, é só falar !!!!

 

Manda o codigo completo.

 

Valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

procure em nosso Laboratório de scripts, que existem varios códigos de paginação, pode lhe ajudar muito.

Compartilhar este post


Link para o post
Compartilhar em outros sites

filipescoob segue o cod completo, esta bem detalhado,.... qualquer coisa é só dar um toque.

 

xanburzum, a primeira coisa que fiz foi pesquisar a respeito, não só aqui mas tbem pelo google,... o porem é que respeito da paginacao em tabelas, as matérias são deficiente. Mas, eu consegui achar um cod pra imprimir em tabelas, e problema é que ele esta exibindo todos os resultados na primeira pagina, sendo que devia ser apenas 4 results por pagina.

 

<!--#include file="config.asp"-->
<%
function preparaPalavra(str)
  str = replace(str, "ó" , "o")
  str = replace(str, "ò" , "o")
  str = replace(str, "ô" , "o")
  str = replace(str, "õ" , "o")
  str = replace(str, "ö" , "o")
  str = replace(str, "á" , "a")
  str = replace(str, "à" , "a")
  str = replace(str, "â" , "a")
  str = replace(str, "ã" , "a")
  str = replace(str, "ä" , "a")
  str = replace(str, "é" , "e")
  str = replace(str, "è" , "e")
  str = replace(str, "ê" , "e")
  str = replace(str, "ú" , "u")
  str = replace(str, "ù" , "u")
  str = replace(str, "û" , "u")
  str = replace(str, "ü" , "u")
  str = replace(str, "í" , "i")
  str = replace(str, "ì" , "i")
  str = replace(str, "ç" , "c")
  preparaPalavra = replace(LCASE(str),"a","[a,á,à,ã,â,ä]")
  preparaPalavra = replace(preparaPalavra,"e","[e,é,è,ê]")
  preparaPalavra = replace(preparaPalavra,"i","[i,í,ì]")
  preparaPalavra = replace(preparaPalavra,"o","[o,ó,ò,õ,ô,ö]")
  preparaPalavra = replace(preparaPalavra,"u","[u,ú,ù,û,ü]")
  preparaPalavra = replace(preparaPalavra,"c","[c,ç]")
  preparaPalavra = replace(preparaPalavra,"'","['']")
  preparaPalavra = preparaPalavra
end function


'Requisita as variaveis
pesss = trim(request.querystring("pesq"))
palavra = Split(Trim(Request.QueryString("pesq")), " ")
tipo = request.querystring("cat")
xx = request.querystring("cat")
pagdxx = request.querystring("pagina")

 %>

<%
'############################################################################
#######
'					  TABELA DE BUSCA SEM RESULTADOS
'############################################################################
#######
%>
<%else

	regs = mostrar_produtos_por_pagina_na_secao
	pag = request.querystring("pagina")
   
	if pag = "" Then
	   pag = 1
	end if
   
	set rs = createobject("adodb.recordset")
	set rs.activeconnection = abredb
   
	rs.cursortype = 3
	rs.pagesize = regs
   
	'Pesquisa no banco de dados
	sql = "SELECT * FROM produtos WHERE ( nome LIKE '%"&preparaPalavra(palavra(0))&"%' OR detalhe LIKE '%"&preparaPalavra(palavra(0))&"%' OR fabricante LIKE '%"&preparaPalavra(palavra(0))&"%') "&tipos&" ORDER by nome"
	rs.open sql
	if rs.eof or rs.bof then%>
<table border="1" cellspacing="0" cellpadding="0" width=500>
<tr>
<td><font face="arial" size="2"><a href="default.asp"><b>Home</b></a> » Pesquisando por <b><%= pesss %></b>
<tr><td>Foram encontrado(s) <b>0</b> filme(s)</td></tr>
<tr><td align="center">
<br>
<br>
Não foi encontrado <b><%= pesss %></b> para esta pesquisa!
<br>
<br>
<br>
</td></tr>
<tr>
<td align="center"><a HREF="default.asp"><font face="arial" size="2"><b>Voltar</b></a></font></td></tr></table>

<%
'############################################################################
#######
'				 TABELA QUE MOSTRA OS RESULTADOS
'############################################################################
#######
%>


	<%response.end
	else
   
	'Conta o numero de registros encontrados
	set rs2 = abredb.Execute("SELECT count(nome) AS total FROM produtos WHERE ( nome LIKE '%"&preparaPalavra(palavra(0))&"%' OR detalhe LIKE '%"&preparaPalavra(palavra(0))&"%' OR fabricante LIKE '%"&preparaPalavra(palavra(0))&"%') "&tipos&"")
	totalreg = rs2("total")
	rs2.close
	set rs2 = nothing%>
<table border="1" cellspacing="0" cellpadding="0" width=500>
<tr>
<td><font face="arial" size="2"><a href="default.asp"><b>Home</b></a> » Pesquisando por <b><%= pesss %></b>
<tr><td>Foram encontrado(s) <b><%=totalreg%></b> filme(s)</td></tr>
<tr><td> </td></tr></table>

<%
'############################################################################
#######
'				 LOOP EM DUAS TABELAS
'############################################################################
#######
%>

<tr>
<td>
<table BORDER="1" cellspacing="0" cellpadding="0" width=500>
<% rs.absolutepage = pag
   do while not rs.EOF and contador < rs.pagesize
   if contador=0 then
   response.write "<tr>"
  end if
  response.write "<td align=""center"">"
%>
<img src="produtos/<%=rs("impeq")%>" border="0">

<%
  response.write "</td>"
  contador = contador + 1
  if contador=2  then ' quantidade de colunas
	response.write "</tr>"
	contador=0
  end if

  rs.MoveNext
Loop
%>
</td></tr></table>
<table BORDER="0" cellspacing="0" cellpadding="0" width=500>
<tr><td align=right><font face="arial" size="2">Página:  

<%
'############################################################################
#######
'				 PAGINACAO EM NUMEROS
'############################################################################
#######
%>

 <%for i = 1 to rs.pagecount
   
	if i = cint(pag) then
	   response.write " [ <b>" & i & "</b> ] "
	else
	   response.write "<a href='" & request.servervariables("script_name") & "?pesq="&trim(request.querystring("pesq"))&"&cat="&request.querystring("cat")&"&pagina=" & i & "'><font face="&fonte&" style=font-size:11px;color:000000><b>" & i & "</a>  "
	end if
   
	next
   
	rs.close
	set rs = nothing
	end if%>
</b></font></td></tr>
<tr><td align=center>
<a HREF="default.asp"><font face="arial" size="2"><b>Voltar</b></a></font></td></tr></table>
<%end if%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

dá uma olhada neste link aqui

Compartilhar este post


Link para o post
Compartilhar em outros sites

xanburzum, esse cod tinha visto, o problema é que é pra Mysql, meu bd é pra access,...até tinham falado que poderia ser feito pra access, Mas, eu nao sei como fazer isso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estava olhando seu codigo ele chegou a rodar?

 

É este mesmo... ?

 

Pois ele ja começa na linha 51 com um ELSE sem if antes.

 

Abraços

 

P.S: Estou analisando

Compartilhar este post


Link para o post
Compartilhar em outros sites

Kara,

 

estou enviando paginação que uso para ACCESS veja se consegue adaptar.

 

Abraços

 

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<% 
response.expires=0 'vence instantaneamente 
%>
<html>
<head>
<title><%=cabe%></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<%
'***************************************	 COMEÇO DA PAGINAÇÃO	  *******************************************************
	'recupera o numero da pagina que a pesssoa deseja ir
	'caso seje o primeiro acesso ele retornará 1
	pagina = Request.QueryString("pagina")
	If pagina = null or pagina = "" Then
		pagina = 1
	End If
	'cria o recordset para trazer os dados da paginação
	set rs_cad = Server.CreateObject("adodb.Recordset")
	rs_cad.PageSize = 3
	SQL_1 = "Select * FROM clientes"
	set rs_cad = conexao.execute(SQL_1)
	
	'função que mostra total de pagina e tambem a pagina atual.
	Sub Mostranum1()
		Response.write "Existem " & rs_cad.recordcount &" registros na tabela - Mostrando página "& pagina &" de "&rs_cad.PageCount
	end sub
	
	'função paginação ele é responsavel por toda navegação entre os registros
	sub Paginar1()
		ultima = rs_cad.PageCount
		'INÍCIO DOS LINKS DA PAGINAÇÃO.
		links = 3
		'se pagina não for a primeira ele mostra ativo o botão primeiro
		if int(pagina) > 1 then
		response.write "<a class='botao' href=cad_edi_del.asp?pagina=1' target='pag'>   Primeira   </a>"
		end if
		'se pagina for a primeira ele mostra inativo o botão primeiro
		if int(pagina) = 1 then
		response.write "<a class='botaoinat'>   Primeira   </a>"
		end if
		' Aqui é criado os links antes da página atual.
		For i = (pagina - links) To (pagina - 1)
		 If i > 0 Then
		  Response.Write "<a class='botao' href=cad_edi_del.asp?pagina="&i&"' target='pag'>"&i&"</a>"
		 End If
		Next
		'Imprime o número da página atual
		Response.Write "<b><a href='#' class='botaoinat'>"&pagina&"</a></b>"
		' Aqui é criado os links após a página atual.
		For i = (pagina + 1) To (pagina + links)
		 If i > ultima Then Exit For
		 Response.Write "<a class='botao' href=cad_edi_del.asp?pagina="&i&"' target='pag'>"&i&"</a>"
		Next
		if int(pagina) < ultima then
			Response.Write "<a class='botao' href=cad_edi_del.asp?pagina="&rs_cad.pagecount&"' target='pag'>   Ultima   </a>"
		end if
		'mostra botão ultimo inativo
		if int(pagina) = ultima then
			Response.Write "<a class='botaoinat'>   Ultima   </a>"
		end if
	End sub
'***************************************		FIM DA PAGINAÇÃO	  ********************************************************
	%>
<table width="550"  border="0" cellspacing="0" cellpadding="0">
	  <tr>
		<td width="20"> </td>
		<!-- IMPRIME OS CABEÇALHOS E MONTA OS LINKS DE ORDENAÇÃO, IDENTIFICANDO POR QUAL CAMPO ESTA ORDENADA A CONSULTA -->
		<td width="42" align="center" valign="middle" style="width:40px;">ID</td>
		<td width="385" align="center" valign="middle" style="width:350px;">Nome</td>
  </tr>
<% 
If rs_cad.EOF Then
Response.Write "Nenhum registro encontrado"
Else
rs_cad.AbsolutePage = pagina

While Not rs_cad.EOF AND x < rs_cad.PageSize

x = x + 1

if i = 0 then
	cor = "linque"
	i = 1
else
	cor = "linque2"
	i = 0
end if
%> 
	  <tr>
		  <!-- RETORNA OS DADOS DO BANCO DE DADOS -->
		<td> </td>
		<td align="center" valign="middle" style="width:40px;" class="<%=cor%>"><%=rs_cad("codcli")%></td>
		<td class="<%=cor%>" style="width:350px;"><%=rs_cad("nomecli")%></td>
	  </tr>
<% 
rs_cad.movenext
Wend
end if
%>
	  <tr>
		<td> </td>
		<td colspan="3"> </td>
  </tr>
	  <tr>
		<td> </td>
		<!-- MOSTRA QUANT. DE PAGINAS DA PAGINAÇÃO-->
		<td colspan="3" align="center" valign="middle" class="celTitTotal"><%Mostranum1%></td>
  </tr>
	  <tr>
		<td> </td>
		<td colspan="3"> </td>
	  </tr>
	  <tr>
		<td height="19"> </td>
		<!-- BARRA DE NAVEGAÇÃO -->
		<td colspan="3" align="center" valign="top"><%paginar1%></td>
	  </tr>
</table>
	</td>
	<td> </td>
  </tr>

</table>
</body>
</html>

Tentei adaptar mas suas variaveis não são muito intuitivas.

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

dá uma olhada neste código tb

<%
   'Lembre-se de definir corretamente o seu banco de dados 
	Dim objConn
	Set objConn = Server.CreateObject("ADODB.Connection")
	objConn.Open "DBQ=" & Server.MapPath("database.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}","username","password"
	Dim TotalPages, NumPerPage, CurrentPage, Number
	Dim strQuery, ObjRs, Count
	' Define o valor inicial como" 5
	if request("NumPerPage") <> 0 Then NumPerPage = Int(request("NumPerPage")) Else NumPerPage = 5
	strQuery = "SELECT * FROM TableName order by data desc"
	Set ObjRs = Server.CreateObject("ADODB.Recordset")
			
	if Request.QueryString("page") = "" Then
	CurrentPage = 1 'Estamos Na primeira página
	Else
	CurrentPage = CInt(Request.QueryString("page"))
	End if
	objRS.Open strQuery, objConn, 1, 1 'aberto como Read-Only
	Number = objRS.RecordCount
	if Not objRS.EOF Then
		objRS.MoveFirst
		objRS.PageSize = NumPerPage
	TotalPages = objRS.PageCount
	objRS.AbsolutePage = CurrentPage
	End if
	Dim ScriptName
	ScriptName = request.servervariables("ScriptName")
	%>
	
	
	<%
	While Not objRS.EOF and Count < objRS.PageSize
	count = count + 1
	%>
	Ponha aqui o seu RecordSet Display
	<%
	objRS.MoveNext
	Wend
	objRs.close
	Set objRs = Nothing
	%>
	<%
   'Imprimir os recentes dados
	response.write "Showing page <B>" & CurrentPage & "</B> of <B>" & TotalPages & "</B>: Total of <B>" & Number & "</B> written posts..."
	%>
	<%
   'Criando a paginação números
	Dim ini, fim, a
  'Display PREV página link, se for o caso
	if Not CurrentPage = 1 Then
		Response.Write "<A href='" & ScriptName & "?NumPerPage=" & NumPerPage & "&page=" & CurrentPage - 1 & "'><FONT size=1 face=Verdana><B>..</B></FONT></A>  "
	if CurrentPage > 5 and TotalPages > 10 Then
	Response.write("<A href=" & ScriptName & "?NumPerPage=" & NumPerPage & "&page=1><FONT size=1 face=Verdana><B>1</B></FONT></A>" & "<FONT size=1 face=Verdana><B> ... </B> </FONT>" )
	End if
	if TotalPages > 10 Then
		
		if CurrentPage > 5 Then
			if TotalPages > (CurrentPage + 5) Then
				ini = (CurrentPage - 4)
				fim = (CurrentPage + 5)
			Else
				ini = (TotalPages - 9)
				fim = TotalPages
			End if 
		Else
			ini = 1
			fim = 10
		End if
		
	else
	ini=1
	fim = TotalPages
	End if
	For a = ini To fim
	if a = Cint(request("page")) Then
	Response.write( "<FONT face=Verdana color=#FF0000 size=3><B>" & a & "</B></FONT>  ")
	Else
	Response.write("<A href=" & ScriptName & "?NumPerPage=" & NumPerPage & "&page=" & a &"><FONT size=1 face=Verdana><B>" & a & "</B></FONT></A>" & "  " )
	End if
	Next
	Else
		if TotalPages = 1 Then 
				Response.write ""
			Else
				Response.Write "<FONT face=Verdana color=#FF0000 size=3><B>1</B></FONT>  "
		End if
		if TotalPages > 10 Then
		fim = 10
		Else
		fim = TotalPages
		End if
		For a = 2 To fim
	if a = Cint(request("page")) Then
	Response.write( "<FONT face=Verdana color=#FF0000 size=3><B>" & a & "</B></FONT>  ")
	Else
	Response.write("<A href=" & ScriptName & "?NumPerPage=" & NumPerPage & "&page=" & a &"><FONT size=1 face=Verdana><B>" & a & "</B></FONT></A>" & "  " )
	End if
	Next
	End if
	if CurrentPage < TotalPages - 5 and TotalPages > 10 Then
	Response.write("<FONT size=1 face=Verdana><B>... </B></FONT><A href=" & ScriptName & "?NumPerPage=" & NumPerPage & "&page=" & TotalPages &"><FONT size=1 face=Verdana><B>" & TotalPages & "</B></FONT></A>" & "  " )
	End if
	'Display NEXT page link, if appropriate
	if Not CurrentPage = TotalPages Then
		Response.Write "<A href='" & ScriptName & "?NumPerPage=" & NumPerPage & "&page=" & CurrentPage + 1 & "'><FONT size=1 face=Verdana><B>..</B></FONT></A>"
	Else
		Response.Write ""
	End if
	%>

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.