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
Curtir tópico
+ 0
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.
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
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;
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
Clique aqui para fazer login e interagir na Comunidade :)