Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Rolagem infinita com dados MySQL


Eu vi seu código em outra resposta e recomendo usar a funcionalidade LIMIT no MySql em vez de compensar os valores. Exemplo:
SELECT * FROM all_posts ORDER BY post_id DESC LIMIT '".(((int)$page)*5)."',5

Isso apenas pegará um número de página na solicitação AJAX e obterá o deslocamento automaticamente. É uma consulta consistente e funciona independentemente dos últimos resultados na página. Envie algo como page=1 ou page=2 em seu código jQuery. Isso pode ser feito de duas maneiras diferentes.

Primeiro, conte o número de elementos construídos na página e divida pelo número na página. Isso produzirá um número de página.

Segundo, você pode usar jQuery e vincular o número da página atual ao corpo:
$(body).data('page', 1)

Incremente-o em um a cada carregamento de página.

Fazer isso é realmente o melhor caminho a seguir, porque usa uma consulta para todas as operações e não requer muitas informações sobre os dados que já estão na página.

A única coisa a notar é que essa lógica requer que a solicitação da primeira página seja 0, não 1. Isso ocorre porque 1*5 será avaliado como 5, pulando as primeiras 5 linhas. Se for 0, será avaliado como 0*5 e pulará as primeiras 0 linhas (já que 0*5 é 0).

Deixe-me saber todas as perguntas que você tem!