Ir para conteúdo

POWERED BY:

Arquivado

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

Carlos Moreira

Paginação por COLUNA com MYSQL

Recommended Posts

Olá pessoal fusei todo o Laboratório de Scripts e NADA.

 

Preciso de uma paginação POR COLUNA que funcione com MYSQL.

 

Hoje eu tenho uma que funciona redondinha mas não é com COLUNA.

 

Espero poder contar com Vcs.

 

Valeu!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que você chama de "Paginação por coluna"?

 

Quer exibir registros páginados em colunas de uma tabela HTML?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se a sua paginação já está funcionando corretamente dê uma olhada nesse post: Exibir registros em colunas, que está no tópico Duvidas frequentes.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dê uma olahda no codigo que tentei montar ele vem com alguns problemas.

 

Por exemplo aparece 6 paginas sendo que seria somente 3 e outros problemas

teste se possivel este abaixo

 

<%
'Definição de Variáveis 
Dim Conn 
Dim RS 
Dim sql 
Dim Pag 
'----------------------------------------------------------- 
'Controles de Paginação 
pagina = Request.ServerVariables("Script_Name")
pag = Request.QueryString("pag") 


If pag = "" Then 
pag = 1 
End if 

Call abre_conexao1(ConnString,Conn)

Conn.CursorLocation = 3 '<- Cursor de conexão 
'----------------------------------------------------------- 
'Criação de RecordSet 
Set RS = Server.CreateObject("ADODB.RecordSet") 
'----------------------------------------------------------- 
'Conexão Ativa 
Set RS.ActiveConnection = Conn 
'----------------------------------------------------------- 
'Select na tabela do banco 
sql = "SELECT * FROM portfolio where PortAprovado = ""S"" order by PortId desc" 
'----------------------------------------------------------- 
RS.CursorType = 3 'Tipo do cursor do RecordSet 
RS.PageSize = 10 'Qtde de registros a serem exibidos 
RS.Open sql '<- Executa o Select 
TotalPages = RS.Pagecount
'----------------------------------------------------------- 
'Se nao existir dados cadastrados 

%>
<%
If RS.Eof Then 
%>
NÃO EXISTE NADA 
<%Else%>
<table border=1 width=50%> 
<tr> <%
	  Dim contador 
   contador = 1 
   maxcol = 2
RS.AbsolutePage = pag 
'Tazemos todos os dados da tabela 
While Not RS.Eof and i < RS.PageSize i = i + 1

%>

<%  
	if contador <= maxcol then %> 
  <td> 
<%=RS("PortSite")%>
  </td> 
   
  <% 
	  contador = contador + 1 
	else %> 
</tr> 
<tr> 
  <td> 
<%=RS("PortSite")%>
  </td> 
  <% 
	  contador = 1 
	end if 
  rs.movenext 
wend
 
'completa as colunas 
do while contador <= maxcol %> 
  <td>  
	 
  </td> 
<%  contador = contador + 1 
loop %> 
</tr> 
</table>
<table width="100%" height="50" border="0" align="center" cellpadding="0" cellspacing="0" class="texto_paginacao">
			  <tr> 
				<td>Página <b><%=pag%></b> de <b><%=TotalPages %></b> <br> <%



' cria os links de pagians...
IF CInt(pag) > 1 THEN
%> <%
Response.Write "<a href='"&pagina&"?p=1'>Primeira</a> | "
%> <%
Else
Response.Write "<font color=""#ADADAD"">Primeira</font> | "
END IF
%> <%
if CInt(pag) > 1 then
Response.Write "<a href='"&pagina&"?pag=" & pag - 1 &"'><b>Anterior</b></a> | "
Else
Response.Write "<font color='#ADADAD'><b>Anterior</b></font> | "
END IF
%> <%
IF (CInt(pag) < TotalPages) THEN
	 IF CInt(PF) <> TotalPages THEN
   Response.Write "<a href='"&pagina&"?pag=" & pag+1 & "'><b>Próxima</b></a> | "
  END IF
Else
  Response.Write "<font color=""#ADADAD""><b>Próxima</b></font> | "
END IF
%> <%
IF (CInt(pag) < TotalPages) THEN 
	 IF CInt(PF) <> TotalPages THEN
   Response.Write "<a href='"&pagina&"?pag=" & TotalPages & "'>Última</a> "
  END IF
Else
  Response.Write "<font color=""#ADADAD"">Última</font>"
  END IF
%>
				  | 
				  <%
 max_n_mostrados = 9

intervalo = Int(max_n_mostrados /2)
inicio = pag - intervalo
final = pag + intervalo

If CInt(inicio) <1 Then 
 inicio = 1
 final = 10
END IF
If CInt(final) > CInt(TotalPages) Then final = TotalPages

For i = inicio To final
	 If CInt(i)=CInt(pag) Then
		 Response.Write "<font color=""#ADADAD"">[<B>" & i & "</B>]<font color=""#ADADAD""></font>  "
	 END IF
	 If CInt(i) < CInt(pag) Then
	  Response.Write "<a href='"&pagina&"?pag=" & i & "'>" & i & "</a>  "
	 END IF
	 If CInt(i) > CInt(pag) Then
		 Response.Write "<a href='"&pagina&"?pag=" & i & "'>" & i & "</a>  "
  END IF
Next
%> </td>
			  </tr>
			</table>
			<%
RS.Close 
Set RS = Nothing 
Call fecha_conexao1() 
End IF
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara usa LIMIT nos comandos SQL, separa em bloco em bloco limitado por um número de registros, e faz u FOR para contar os números da página

 

 

passa as páginas pelo GET da página

Compartilhar este post


Link para o post
Compartilhar em outros sites

La no seu topico esta com 2 colunas como no codigo abaixo e se eu fosse colocar 3 colunas como ficaria o codigo?

 

Por consegui fazer com o meu porem se eu coloco 3 colunas no codigo ele da erro nao aparece nas colunas certinho.

 

<table border=1 width=50%> 
<tr> 
<% Dim contador 
   contador = 1 
   maxcol = 2	'<------------------ numero de registros por colunas
do while not rs.eof%> 
  <%  
	if contador <= maxcol then %> 
  <td> 
	<img src="<%=rs("imgp")%>"> 
  </td> 
   
  <% 
	  contador = contador + 1 
	else %> 
</tr> 
<tr> 
  <td> 
	<img src="<%=rs("imgp")%>"> 
  </td> 
  <% 
	  contador = 1 
	end if 
  rs.movenext 
loop 
 
'completa as colunas 
do while contador <= maxcol %> 
  <td> 
	  
  </td> 
<%  contador = contador + 1 
loop %> 
</tr> 
</table>

Compartilhar este post


Link para o post
Compartilhar em outros sites

KRA CONSEGUI era o numero de resgistros que estava 10 por isso faltava 2 sempre.

 

VALEU SALGADO VALEU MESMO

 

Só ficou a duvida do LIMIT la. Mas consegui eu mesmo montar esta paginação que funciona redondinha. teria alguma com LIMIT pra eu testar?

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.