Si te encuentras con algo que te causa duda nos puedes dejar un comentario y haremos todo lo posible de ayudarte lo más rápido posible.
Solución:
Podría intentar algo así (suponiendo que use Express 4.x).
Use parámetros GET (aquí página es el número de resultados de página que desea y npp es el número de resultados por página).
En este ejemplo, los resultados de la consulta se establecen en el results
campo de la carga útil de respuesta, mientras que los metadatos de paginación se establecen en el pagination
campo.
En cuanto a la posibilidad de consultar en función del resultado de búsqueda actual, tendría que ampliar un poco, porque su pregunta no está clara.
var express = require('express');
var mysql = require('mysql');
var Promise = require('bluebird');
var bodyParser = require('body-parser');
var app = express();
var connection = mysql.createConnection(
host : 'localhost',
user : 'myuser',
password : 'mypassword',
database : 'wordpress_test'
);
var queryAsync = Promise.promisify(connection.query.bind(connection));
connection.connect();
// do something when app is closing
// see http://stackoverflow.com/questions/14031763/doing-a-cleanup-action-just-before-node-js-exits
process.stdin.resume()
process.on('exit', exitHandler.bind(null, shutdownDb: true ));
app.use(bodyParser.urlencoded( extended: true ));
app.get('/', function (req, res) );
app.listen(3000, function ()
console.log('Example app listening on port 3000!');
);
function exitHandler(options, err)
if (options.shutdownDb)
console.log('shutdown mysql connection');
connection.end();
if (err) console.log(err.stack);
if (options.exit) process.exit();
Aquí está el package.json
archivo para este ejemplo:
"name": "stackoverflow-pagination",
"dependencies":
"bluebird": "^3.3.3",
"body-parser": "^1.15.0",
"express": "^4.13.4",
"mysql": "^2.10.2"
Estaba buscando una solución rápida. tal vez sería útil para alguien.
SELECT id FROM complexCoding LIMIT ? OFFSET ?
",req.query.perpage,((req.query.page-1) * req.query.perpage)
No olvides paginar de acuerdo a la total count of id
dividido por página
Tomé la solución de @Benito y traté de dejarlo más claro
var numPerPage = 20;
var skip = (page-1) * numPerPage;
var limit = skip + ',' + numPerPage; // Here we compute the LIMIT parameter for MySQL query
sql.query('SELECT count(*) as numRows FROM users',function (err, rows, fields)
if(err)
console.log("error: ", err);
result(err, null);
else
var numRows = rows[0].numRows;
var numPages = Math.ceil(numRows / numPerPage);
sql.query('SELECT * FROM users LIMIT ' + limit,function (err, rows, fields)
if(err)
console.log("error: ", err);
result(err, null);
else
console.log(rows)
result(null, rows,numPages);
);
);
Aquí puedes ver las reseñas y valoraciones de los usuarios
Te invitamos a animar nuestra tarea dejando un comentario y dejando una valoración te damos la bienvenida.