Ir para conteúdo

POWERED BY:

Arquivado

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

PRSolucaoWeb

Paginação 1 2 3 4 5 ...

Recommended Posts

Boa tarde galera tudo bem?

Estou montando um site que utilizo uma integração que vem as informações de uma base de dados de terceiro.

Hoje já existe uma páginação PROXIMA | ANTERIOR.

Mas gostaria de colocar em forma de números, exemplo:
1 2 3 4 5 6 ...

 

Estou utilizando assim para montar a páginação:

 

<div class="div_paginacao">
<script language="JavaScript" type="text/javascript">
function postform( p, q )
{
if( p < 1 ) p = 1;

document.getElementById('formbusca').action = "imoveis_gerais.asp?pagina=" + p + "&quantidade=" + q;
document.getElementById('formbusca').submit();
}
</script>

<div class="div_prox_ant"><a href="javascript:postform(<%=pagina+1%>,<%=quantidade%>);" class="botao_proxima_anterior">Proxima</a>   |   <a href="javascript:postform(<%=pagina-1%>,<%=quantidade%>);" class="botao_proxima_anterior">Anterior</a>
</div><div class="div_pagina_atual">
<%
jsonString = "{""fields"":[""Codigo"",""Bairro"",""FotoDestaquePequena"",""Cidade"",""ValorVenda"",""ValorLocacao"",""Descricao"",""Categoria"",""Dormitorios"",""Suites"",""AreaTotal"",""TipoImovel"",""Finalidade"",""Status"",""Vagas""]"

Dim filterString

if (campoCodigo <> "") then
filterString = filterString & """Codigo"":""" & campoCodigo & """"
end if

if (comboBairro <> "" and comboBairro <> "TODOS") then
filterString = filterString & """Bairro"":""" & comboBairro & """"
end if

if (comboCidade <> "" AND comboCidade <> "TODAS") then
if filterString <> "" then filterString = filterString & ","
filterString = filterString & """Cidade"":""" & comboCidade & """"
end if

if (comboCategoria <> "" and comboCategoria <> "TODOS") then
if filterString <> "" then filterString = filterString & ","
filterString = filterString & """Categoria"":""" & comboCategoria & """"
end if

if (comboVagas <> "" and comboVagas <> "TODOS") then
if filterString <> "" then filterString = filterString & ","
filterString = filterString & """Vagas"":""" & comboVagas & """"
end if

if (comboFinalidade <> "" and comboFinalidade <> "TODOS") then
if filterString <> "" then filterString = filterString & ","
filterString = filterString & """Finalidade"":""" & comboFinalidade & """"
end if


if (campoDormitorios <> "") then
if filterString <> "" then filterString = filterString & ","
filterString = filterString & """Dormitorios"":""" & campoDormitorios & """"
end if

if (campoSuites <> "") then
if filterString <> "" then filterString = filterString & ","
filterString = filterString & """Suites"":""" & campoSuites & """"
end if

if filterString <> "" then filterString = filterString & ","
filterString = filterString & """ValorLocacao"":[""" & valMinimo & """,""" & valMaximo & """]"

filterString = "{" & filterString & "}"

jsonString = jsonString & ",""filter"":" & filterString

' PAGINACAO INICIO
'pagina = Request.QueryString("pagina")
'quantidade = Request.QueryString("quantidade")

jsonPaginacao = ",""paginacao"":{""pagina"":" & pagina & ",""quantidade"":" & quantidade & "}"
' PAGINACAO FIM

jsonString = jsonString & jsonPaginacao &"}"

'Response.Write(jsonString)

result = getHTMLFiltros(jsonString, "listar")
result = Unescape(Replace(result, "\u", "%u"))

Set oJSON = new aspJSON
oJSON.loadJSON(result)

'Response.Write(result)

If inStr(result, "o retornou resultados.") Then
total_paginas = 0

Response.Write "<span>Sem resultados!!</span>"
Else

'Total de imóveis da consulta
q_total = oJSON.data("total")
'Total de páginas que a consulta tem
q_paginas = oJSON.data("paginas")
'Página atual
q_pagina = oJSON.data("pagina")

'Response.Write(q_total)
'Response.End

'For Each key In oJSON.data.keys

%>

Poderiam me ajudar nesta questão?

 

Muito Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha este exemplo



CSS

<style type="text/css" media="screen"> 
<!--
.listarGaleria {
  width: 990px;
  position: relative;
}
 
.listarGaleria .listar {
  width: 985px; /* .listarGaleria width - (.listar margin-left + .listar margin-right) */
  overflow: auto;
  height: 500px; /* Ajusta a Altura da Tabela da Galeria ( Para não criar Barra de Rolagem ) */
  margin: 0 35px; /* Ajusta a Distancia da Foto entre a Seta da Esquerda */
  position: relative;
  top: 0;
}
 
.listarGaleria ul a img {
  border: 5px solid #ccc;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
}
 
.listarGaleria .listar ul {
  width: 985px; /* single item n */
  list-style-image:none;
  list-style-position:outside;
  list-style-type:none;
  margin:10;
  padding:0;
  position: absolute;
  top: 0;
}
 
.listarGaleria ul li {
  display:block;
  float:left;
  padding: 5px; /* Ajusta o Espaçamento da Foto */
  height: 220px; /* Ajusta a Medida da Foto */
  width: 310px; /* Ajusta a Medida da Foto */
}
 
.listarGaleria ul li img {
    -webkit-transition: border-color 400ms;
}
 
.listarGaleria ul:hover li img {
  border-color: #ccc;
}
 
.listarGaleria ul:hover li:hover img {
  border-color: #666;
}
 
.listarGaleria ul li a img {
  display:block;
}

.moldura { 
   padding:5px; 
   background-color: #F4EDDD; 
   width: 270px; 
   border: 1px solid #999999;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px; 
} 

-->
</style>

ASP

<table width="1003" border="0" cellspacing="0" cellpadding="0">
<tr>
<td colspan="3" class="cor3">


<!-- ***************** INÍCIO da Paginação ********************** -->

<%
Dim pagina, pag, conn, listaProdutos, sql, TotalPages
 
pagina = Request.ServerVariables("Script_Name")
pag = Request.QueryString("pag") 

If pag = "" Then 
pag = 1 ' Determina qual página da paginação será aberta (deixar em 1)  
End if 

Set conn = CreateObject("adodb.connection")
conn.open "provider=microsoft.jet.oledb.4.0; data source=" & server.mappath("sua_base_dados.mdb")

Set listaProdutos = CreateObject("adodb.recordset")

Set listaProdutos.ActiveConnection = conn

sql = "SELECT * FROM categorias Where id Order by nome"

listaProdutos.CursorType = 3 'Tipo do cursor do RecordSet 
listaProdutos.PageSize = 6 'Qtde de registros a serem exibidos por página 
listaProdutos.Open sql 
TotalPages = listaProdutos.PageCount
%>

<%
If listaProdutos.Eof Then 

Response.Write "<br>"
Response.Write "<center><font color=red><font size=4>Nenhum Produto Cadastrado.</font></font></center>"
Response.Write "<br>"

Else
%>

<div class="listarGaleria">
      <div class="listar">
        <ul>
 
<%
Dim contador, maxcol, listar_id 
contador = 0 
maxcol = 3
listaProdutos.AbsolutePage = pag 
While Not listaProdutos.EOF And i < listaProdutos.PageSize i = i + 1
listar_id = listaProdutos("id")
%>

<%  
	If contador <= maxcol Then 
%>

	<li>
<div align="center">
<a class="listaProdutos" href="./listaProdutos.asp?lista=produtos&nome_cat=<%=listaProdutos("id")%>&categoria=<%=listaProdutos("nome")%>"><%=listaProdutos("nome")%>
<div align="center"><%=listaProdutos("nome")%></div>
</a>  
</div>
   
<% 
contador = contador + 1 
Else 
%>
 
</li>
 
	<li>
<div align="center">  
<a class="listaProdutos" href="./listaProdutos.asp?lista=produtos&nome_cat=<%=listaProdutos("id")%>&categoria=<%=listaProdutos("nome")%>"><%=listaProdutos("nome")%>
<div align="center"><%=listaProdutos("nome")%></div>
</a>  
</div>   

<% 
	  contador = 1 
	End If 
  listaProdutos.MoveNext 
Wend
 
Do While contador <= maxcol 
%>

<%  
contador = contador + 1 
Loop 
%> 

</li>

        </ul>        
      </div>
    </div>

<br>

<table width="990" border="0" align="center" cellpadding="1" cellspacing="1">
	<tr> 
		<td>
<div align="center">        
<span class="txtPaginacao"> Página <b><%=pag%></b> de <b><%=TotalPages %></b> </span>

<br /> 

<%
Dim max_n_mostrados, intervalo, inicio, final, i 
max_n_mostrados = 500

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

If CInt(inicio) <1 Then 
 inicio = 1 ' 
 final = 50 ' Número máximo de páginas que será exibidas, exemplo: (1 - 2 - 3 - 4 ... 50)
End If

If CInt(final) > CInt(TotalPages) Then final = TotalPages

For i = inicio To final
	 If CInt(i)=CInt(pag) Then
		 Response.Write "<span class=txtPaginacao> [" & i & "] </span>"
	 End If
	 
	 If CInt(i) < CInt(pag) Then
	 
	  Response.Write "<a class=paginacao href='"&pagina&"?pag=" & i & "'>" & i & "</a> "
	  
	 End If
	 
	 If CInt(i) > CInt(pag) Then
	 
		 Response.Write "<a class=paginacao href='"&pagina&"?pag=" & i & "'>" & i & "</a> "
		 
  End If
  
Next
%>

</div>

</td>
  </tr>
</table>

<%
listaProdutos.Close 
Set listaProdutos = Nothing 
End If

%>
<!-- ***************** FIM da Paginação ********************** -->

    </td>
  </tr>
</table>

 

Ele é bem simples e está comentado,

 

 

Ele irá criar Nova Página a cada 6 Registro exibidos

 

A Paginação ficará assim:

 

------------------------------------------------------------

Página 1 de 15

 

[1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15

------------------------------------------------------------

 

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.