Hoje resolvi fazer um artigo rápido que explica como funciona a paginação de resultados no MySQL.
Não vim mostrar nenhum script pronto… Vou apenas falar como é a “lógica de negócio” da paginação para que fique mais fácil para vocês entenderem e poderem desenvolver seus próprios sistemas. :)
Suponhamos que você tenha uma tabela de notícias e quer colocar uma paginação na listagem de notícias.
Normalmente a sua consulta seria assim:
Agora vamos definir a regra da sua paginação.. Vamos exibir apenas 15 resultados “por página”, então a consulta para pegar a primeira página de resultados seria assim:
Perceba que adicionamos um LIMIT 0, 15 no final, isso significa que começaremos na posição 0 (que é antes do 1° registro) e apanharemos os próximos 15 registros… Sabendo disso nós podemos criar a consulta (query) para a segunda e terceira páginas:
O primeiro valor do LIMIT pode ser definido por (Página - 1) x Registros_por_página… Se você quer exibir 23 registros por página e está exibindo a 5ª página então o você terá um LIMIT 92, 23 no fim da sua query.
O melhor de tudo é que você não precisa se preocupar com o seu número de registros na tabela… Se você só tem 15 registros e fez uma consulta com LIMIT 10, 20 ele vai pegar apenas os últimos 5 registros e nada vai dar errado.
:)