carregamento de postagens com o scroll do usuário em PHP

05/03/2021

0

estou com um problema, que ao acessar minha aplicação todas as postagens são carregadas de uma só vez do DB, e não sei como implementar um sistema em que o usuário ao dar scroll carregue mais conteúdo (como o feed do facebook). A linguagem que estou usando e o PHP. agradeceria se alguém pudesse me ajudar.
Mateus Scheifer

Mateus Scheifer

Responder

Post mais votado

05/03/2021

O nome desse recurso de programação é "paginação". Não sei se vc dseja uam forma automática de fazer isso, se for isso, eu não sei como fazer, pois só conheco o modo programável;


Veja, nesse caso, por programação, vc terá que mudar a lógica a começar pela query do Mysql;

vamos ver um caso simples:

Caso de uso: quero mostrar todas as tuplas DE UM SELECT paginando-as de 20 em 20 linhas na minha tela:

Solução: toda vez que vc for montar a tela, o segredo é executar a query de forma que o SELECT inicie a consulta NA PRIMEIRA TUPLA
DA PÁGINA E SÓ TRAGA A QUANTIDADE DE LINHAS QUE VC DESEJA, 20(no nosso caso):

Exemplo:

No MYSQL, o comando "limit" limita a quantidade de linhas a ser lida, e "offset" faz o ponteiro do banco pular n linhas . Simples, né?

EXEMPLO:
Query para trazer 20 tuplas da primeira página:
SELECT coluna FROM tabela LIMIT 20 OFFSET 0; // ler 20 linhas a partir da primeira tupla;

Query para trazer 20 tuplas da segunda página:
SELECT coluna FROM tabela LIMIT 20 OFFSET 10; // pula 10 linhas e lê as próximas 20;

Query para trazer 20 tuplas da terceira página:
SELECT coluna FROM tabela LIMIT 20 OFFSET 20; // pula 20 linhas e lê as próximas 20;

Query para trazer 20 tuplas da quarta página:
SELECT coluna FROM tabela LIMIT 20 OFFSET 30; // pula 30 linhas e lê as próximas 20;



É dessa forma que conseguimos ir pra frente e pra trás paginando na WEB.


Agora, é colocar a mão na massa e programar.

Heraldo Araujo

Heraldo Araujo
Responder

Mais Posts

05/03/2021

Heraldo Araujo

Ops...errei no exemplo, digitei o offset com valor errado....



corrigindo...


EXEMPLO:
Query para trazer 20 tuplas da primeira página:
SELECT coluna FROM tabela LIMIT 20 OFFSET 0; // ler 20 linhas a partir da primeira tupla;

Query para trazer 20 tuplas da segunda página:
SELECT coluna FROM tabela LIMIT 20 OFFSET 20; // pula 20 linhas e lê as próximas 20;

Query para trazer 20 tuplas da terceira página:
SELECT coluna FROM tabela LIMIT 20 OFFSET 40; // pula 40 linhas e lê as próximas 20;

Query para trazer 20 tuplas da quarta página:
SELECT coluna FROM tabela LIMIT 20 OFFSET 60; // pula 60 linhas e lê as próximas 20;
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar