Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

108
Views
Nodejs busca y pagina los resultados devueltos

Necesito ayuda o consejo sobre cómo manejar esto. Estoy trabajando en un proyecto de nodo/mysql. Necesito paginar mis datos que he logrado implementar con éxito. Ahora solo tengo un problema que me ha llevado más de dos días tratando de resolver en vano. Cuando un usuario busca en mi sitio y supongamos que los resultados de la búsqueda tienen más de 100 registros, necesito paginar estos resultados en la interfaz. Ahora el problema es, ¿cómo mantengo la consulta de búsqueda cuando el usuario hace clic en la página 2 o 3? La situación en este momento es que cuando el usuario busca, el registro de la primera página se devuelve correctamente y bien paginado, pero cuando hace clic en la página 2, el la consulta de búsqueda ya no está. así que estoy tratando de descubrir cómo mantener esta búsqueda de consulta en mi aplicación para que cuando busque 1000 registros, se puedan paginar y pueda navegar con éxito en cada página que contenga los resultados de la búsqueda.

este es mi código de paginación de backend en este momento con la paginación y mi plantilla de frontend es ejs

 app.get('/jobs', (req, res) => { db.query(sql, (err, result) => { if(err) throw err; const numOfResults = result.length; const numberOfPages = Math.ceil(numOfResults / resultsPerPage); let page = req.query.page ? Number(req.query.page) : 1; if(page > numberOfPages){ res.redirect('/?page='+encodeURIComponent(numberOfPages)); }else if(page < 1){ res.redirect('/?page='+encodeURIComponent('1')); } //Determine the SQL LIMIT starting number const startingLimit = (page - 1) * resultsPerPage; //Get the relevant number of POSTS for this starting page sql = `SELECT * FROM photos LIMIT ${startingLimit},${resultsPerPage}`; db.query(sql, (err, result)=>{ if(err) throw err; let iterator = (page - 5) < 1 ? 1 : page - 5; let endingLink = (iterator + 9) <= numberOfPages ? (iterator + 9) : page + (numberOfPages - page); if(endingLink < (page + 4)){ iterator -= (page + 4) - numberOfPages; } res.render('index', {data: result, page, iterator, endingLink, numberOfPages}); }); }); });
about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!