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

API Node.js avec express &mysql - Obtenir le nombre d'enregistrements, le numéro de page, ... et fournir la pagination

MySQL LIMIT prend 2 valeurs, décalage et nombre de lignes. Les manipuler est la façon dont vous pourriez bien sûr faire de la pagination.

par exemple. Si, par exemple, chaque page comptait 10 enregistrements.Page1 =LIMIT 0, 10 Page2 =LIMIT 10, 10 Page3 =LIMIT 20, 10 etc.

IOW :LIMIT (pageNo - 1) * PageSize, PageSize

Maintenant, un problème avec l'utilisation de la limite est que le nombre d'enregistrements est pour le jeu de résultats, IOW :les 10 enregistrements limités.

Mais ce que vous pouvez faire, c'est demander à MySQL de stocker ce qu'aurait été le nombre d'enregistrements si la LIMIT n'avait pas été appliquée. Vous pouvez le récupérer en préfixant le SQL avec SQL_CALC_FOUND_ROWS.

par exemple. SELECT SQL_CALC_FOUND_ROWS * FROM TABLE WHERE something LIMIT 10, 10

Vous pouvez alors faire une autre requête qui récupère cette valeur.

SELECT FOUND_ROWS();