Mysql
 sql >> Base de données >  >> RDS >> Mysql

Pagination MySQL sans double requête?

Je ne fais presque jamais deux requêtes.

Renvoyez simplement une ligne de plus que nécessaire, n'en affichez que 10 sur la page, et s'il y en a plus que ce qui est affiché, affichez un bouton "Suivant".

SELECT x, y, z FROM `table` WHERE `some_condition` LIMIT 0, 11
// iterate through and display 10 rows.

// if there were 11 rows, display a "Next" button.

Votre requête doit revenir dans l'ordre des plus pertinentes en premier. Il y a de fortes chances que la plupart des gens ne se soucient pas d'aller à la page 236 sur 412.

Lorsque vous effectuez une recherche Google et que vos résultats ne s'affichent pas sur la première page, vous accédez probablement à la page 2, et non à la neuvième.