Ir para conteúdo

Arquivado

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

razs

loading more record

Recommended Posts

Boas,

 

Em vez de paginação, alguem me explica como fazer uma coisa tipo as imagens do google em que vao aparecendo os registo a medida que se faz o scroll.

 

obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu uso este plugin jquery

 

<script language="javascript" type="text/javascript" 
src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script src="jquery.lazyload.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript" charset="utf-8">
$(function() {          
    $("img").lazyload({
        effect : "fadeIn"
    });
});
</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estou um pouco perdido, mas o objectivo é inves de ter paginação com links para página 1 , 2 , 3 etc... ele ir mostrando os dados da bd a medida que o utilizador fazia scroll

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode fazer a consulta no banco de dados e exibir eles numa DIV dae usar o jquery para dar o efeito scroll na DIV

Compartilhar este post


Link para o post
Compartilhar em outros sites

numa div?

 

mas os exemplos que encontro com os modelos que me indicaram sao so para imagens :s

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas como vc quer pegar dados do bd, se for dados como nome, end, cpf, fone etc etc e tal ou qualquer texto (dados) melhor com DIV, agora se for img, dae normal.

Compartilhar este post


Link para o post
Compartilhar em outros sites

sao estes dados e imagem

<a href="/pages/see_recipe/?id=<%=RsRand("id")%>">
 <div class="col-<%=x%>"> <img alt="<%=RsRand("titulo")%>" src="<%=RsRand("imagem")%>" class="extra-img png"/>
  <dl class="list1">
  <dt><%=LEFT(RsRand("titulo"),25)%></dt>
  <dd><%=LEFT(RsRand("descricao"),150)%>...</dd>
  <dd><span><%=RsRand("quantidade1")%></span><%=RsRand("ingrediente1")%></dd>
  <dd><span><%=RsRand("quantidade2")%></span><%=RsRand("ingrediente2")%></dd>
  <dd class="alt"><span><%=RsRand("quantidade3")%></span><%=RsRand("ingrediente3")%></dd>
  <dd class="last"><span><%=RsRand("duracao")%></span>Duração:</dd>
  </dl>
  <div class="button"><span><span><a href="#">Full Recipe</a></span></span></div>
 </div>
</a>

Compartilhar este post


Link para o post
Compartilhar em outros sites

dae vc tem que colocar estes dados na DIV e aplicar o jquery com o efeito scrolling na DIV

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas isto faz o load logo ou progressivamente?

 

imaginem uma tabela com 20000 registo e ele a fazer o select de tudo ao mesmo tempo, ficava muito lento

Compartilhar este post


Link para o post
Compartilhar em outros sites

seria um SELECT normal.... o que vai diferenciar será a sua estrutura bem montada, com uma modelagem de dados bem definida até os mínimos detalhes, como os campos de relacionamentos, um velho ditado diz, que um relacionamento bem definido é a alma do aplicativo, pois daí saem todas as consultas e operações com o banco, influenciando diretamente na otimização e performance do aplicativo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

pois.. sao muitos registos talvez seja melhor fazer paginacao...

 

tens algum exemplo para banco de dados mysql?

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

com muitos dados, com certeza fazer uma paginação.

 

Estilo Css usado na páginação

<style>
#pages {
        padding: 3px;
}
#pages ul {
        list-style-type: none;
}
#pages li {
        float: left;
        display: inline;
        margin: 0 5px 0 0;
        display: block;
}
#pages li a {
        color: #88af3f;
        padding: 4px;
        border: 1px solid #ccdbe4;
        text-decoration: none;
        float: left;
}
#pages li a:hover {
        color: #fff;
        background-color: #3666d4;
        border: 1px solid #2b55af;
}
#pages li.nolink {
        color: #CCC;
        border: 1px solid #F3F3F3;
        padding: 4px;
}
#pages li.current {
        color: #FFF;
        border: 1px solid #2b55af;
        padding: 4px;
        background-color: #3666d4;
}
</style>

Código ASP

<%
''' Declaração de variáveis
Dim cnProdutos, rsProdutos, strSQLProdutos
Dim cdblMat, intInicioPaginasRegistros, pAtual, fimRegistros
Dim iTotalReg, iTotalPaginas, sLink
Dim intervalo, intInicioPaginas, intFinalPaginas, intMaxLinksNavegacao

''' Recupera a página atual
pAtual = Request.QueryString("pAtual")

''' Consulta SQL
strSQLProdutos = "select campo1, campo2 from sua_tabela order by campo3;"

''' Criação dos Objetos
Set cnProdutos = Server.CreateObject("ADODB.Connection")
Set rsProdutos = Server.CreateObject("ADODB.Recordset")
cnProdutos.Open "driver={MySQL ODBC 3.51 Driver};server=NOME_SERVIDOR;database=NomeBaseDados;uid=NomeUsuarioBanco;pwd=SenhaUsuarioBanco;"


''' Total de registros por pagina
fimRegistros = 20

''' Total de links exibidos na tela
intMaxLinksNavegacao = 10

''' Define a página atual
If pAtual =  "" Or pAtual <= 0 Then
  pAtual = 1
End If

''' Diz ao MySQL o inicio do filtro de linhas. 
''' Inicialmente vamos iniciar da linha Zero
cdblMat = pAtual -1
intInicioPaginasRegistros = cdblMat * fimRegistros

''' Pega o total de registros do banco
iTotalReg = cnProdutos.Execute("select count(campo1) from sua_tabela").Fields(0).Value


''' Cálculo para ver o total de páginas que terá a paginação.
If Cint(iTotalReg) > CInt(fimRegistros) Then
   iTotalPaginas = Round(Cint(iTotalReg) / Cint(fimRegistros))
Else
   iTotalPaginas = 1
End If

''' coloque aqui, tudo o que for comum na sua querystring do site
''' valores que sempre serao os mesmos, com isso vc economiza na 
''' hora que for montar os links de paginação
sLink = "pagina.asp?parametro1=valor1&parametro2=valor2"

''' Certifica-se de que a pagina atual nunca será maior que o total de paginas
If Cint(pAtual) > iTotalPaginas Then
   pAtual = iTotalPaginas 
End If

''' Configura o intInicioPaginas e o fim dos registros no banco
strSQLProdutos = strSQLProdutos & " limit " & intInicioPaginasRegistros & "," & fimRegistros

rsProdutos.CursorLocation = 3
rsProdutos.Open strSQLProdutos, cnProdutos, 3, 3

If Not rsProdutos.EOF Then
   Response.Write "<table>" & vbcrLf
   Response.Write " <tr>" & vbcrLf
   Response.Write "  <td>" & vbcrLf
   Do While Not rsProdutos.EOF
    Response.Write "Campo 1: " & rsProdutos("campo1") & " - Campo 2: "& rsProdutos("campo2") &" <br />" & vbcrLf
    rsProdutos.MoveNext
   Loop
   Response.Write "  </td>" & vbcrLf
   Response.Write " </tr>" & vbcrLf
End If

''' =========================================================
''' Iniciamos a Paginação
''' =========================================================
Response.Write "        <tr>" & vbcrLf
Response.Write "                <td>" & vbcrLf
Response.Write "                        <B><strong> Página " & pAtual & " de " & iTotalPaginas & " </strong></B> - " & vbcrLf
Response.Write "                </td> - " & vbcrLf
Response.Write "        </tr>" & vbcrLf

Response.Write "        <tr>" & vbcrLf
Response.Write "         <td>" & vbcrLf
Response.Write "          <div id='pages'>" & vbcrLf
Response.Write "           <ul>" & vbcrLf

''' Botões Primeira e Anterior. Só serão exibidos
''' se a página atual não for a primeira página
If pAtual > 1 Then
        Response.Write " <li><a href='"& sLink &"&pAtual=" & 1 & "'>Primeira</a></li>"
        Response.Write " <li><a href='"& sLink &"&pAtual=" & pAtual - 1 & "'>Anterior</a><li>"
End If

''' Configura o intInicioPaginas e o fim dos registros para consulta ao banco
intervalo = Int(intMaxLinksNavegacao / 2)
intInicioPaginas = pAtual - intervalo
intFinalPaginas = pAtual + intervalo

''' Se o intInicioPaginas for menor que 1 passa seu valor para 1
If CInt(intInicioPaginas) < 1 Then
        intInicioPaginas = 1
        intFinalPaginas = intMaxLinksNavegacao
End If

''' Garante que a última página nao vai ser maior que o total 
''' de páginas calculado para a consulta
If CInt(intFinalPaginas) > CInt(iTotalPaginas) Then intFinalPaginas = iTotalPaginas
If intFinalPaginas > intMaxLinksNavegacao Then intFinalPaginas = intFinalPaginas - 1


''' Começa a escrever os links na tela
For i = intInicioPaginas To intFinalPaginas
        If CInt(i)=CInt(pAtual) Then
                Response.Write " <li class='current'>" & i & "</li> "
        End If
        If CInt(i) < CInt(pAtual) Then
                Response.Write " <li><a href='"& sLink &"&pAtual=" & i & "'>" & i & "</a></li> "
        End If
        If CInt(i) > CInt(pAtual) Then
                Response.Write " <li><a href='"& sLink &"&pAtual=" & i & "'>" & i & "</a></li> "
        End If
Next

''' Botões Próxima e Última página. Só serão exibidos
''' se a página atual nao for a última página
If CInt(pAtual) < CInt(iTotalPaginas) Then
        Response.Write " <li><a href='"& sLink &"&pAtual=" & pAtual + 1 & "'>Próxima</a></li>"
        Response.Write " <li><a href='"& sLink &"&pAtual=" & iTotalPaginas & "'>Última</a></li>"
End If 
Response.Write "                                </div>" & vbcrLf
Response.Write "                        </ul>" & vbcrLf
Response.Write "                </td>" & vbcrLf
Response.Write "        </tr>" & vbcrLf
Response.Write "</table>" & vbcrLf
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

10170903_704352199608579_224670946239719

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.