Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

301
Vistas
Cómo insertar una matriz con algunos valores repetidos en mysql usando node.js

Estoy tratando de insertar y valores en mi base de datos y pensé que tener el mismo nombre para las entradas en mi formulario me facilitaría insertarlos a granel, quiero iterar OrderNo y cantidad e insertarlos en una nueva columna mientras mantiene las otras entradas como fname igual hasta que se completan los valores en OrderNo.

 app.post("/send-data", (req,res)=>{ let sql = "INSERT INTO foodorder.orders (" + "food_id," + " qty,"+ " customer_FName," + " customer_LName," + " customer_number," + " customer_email," + " customer_facebook," + " order_date," + " delivery_option," + " mode_of_payment," + " delivery_time" + ") VALUES (" + ` ${req.body.OrderNo},` + ` ${req.body.quantity},` + ` "${req.body.fname}",` + ` "${req.body.lname}",` + ` "${req.body.Contact}",` + ` "${req.body.email}",` + ` "${req.body.facebook}",` + ` "${req.body.date}",` + ` "${req.body.delivery}",` + ` "${req.body.payment}",` + `"${req.body.time}"` + `)`; con.query(sql, (err,result) => { if(!err){ res.send(result); } else{ res.json(req.body); throw err; } }) });

Este es el código que tengo y actualmente solo acepta 1 OrderNo y cantidad y cuando intento pedir muchos productos con diferentes cantidades, dirá que el recuento de columnas no coincide con el recuento de valores en la fila 1 (ver foto adjunta a continuación)

[el resultado que obtengo de mis formularios * No incluí en la captura de pantalla los otros detalles de salida, como el correo electrónico, etc.] [1]

¿Hay alguna manera de simplemente iterar el número de pedido y la cantidad e insertarlos creando nuevas columnas pero con el mismo fname y lname, etc.? ¿O necesito usar el cursor MySql?

Tenga en cuenta que mi código funciona e inserta si solo he seleccionado 1 pedido y 1 cantidad en mis formularios

ACTUALIZAR

Adjunto aquí está lo que quiero lograr. Quiero saber una forma de iterar o repetir el número de pedido y la cantidad e insertarlos en sus respectivas columnas mientras mantengo los otros valores como fname y lname.

quiero lograr esto

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Solucionado iterando el OrderNo. muchas gracias diogo

 app.post("/send-data", (req,res)=>{ let order = req.body.OrderNo; let quantity = req.body.quantity; let first = req.body.fname, last = req.body.lname, contact = req.body.Contact, email = req.body.emailAdd, fb = req.body.facebook, date = req.body.date, delivery = req.body.delivery, payment = req.body.payment, time = req.body.time, address = req.body.address; [order].forEach((product, index, arr)=>{ const q = quantity[index]; let sql = "INSERT INTO foodorder.orders (" + "food_id," + " qty,"+ " customer_FName," + " customer_LName," + " customer_address," + " customer_number," + " customer_email," + " customer_facebook," + " order_date," + " delivery_option," + " mode_of_payment," + " delivery_time" + ") VALUES (" + con.escape(product) + `,` + con.escape(q) + `,` + con.escape(first) + `,` + con.escape(last) + `,` + con.escape(address) + `,` + con.escape(contact) + `,` + con.escape(""+email) + `,` + con.escape(fb) + `,` + con.escape(date) + `,` + con.escape(delivery) + `,` + con.escape(payment) + `,` + con.escape(time) + `)`; con.query(sql, (err,result) => { if(!err){ res.redirect('thankyou.html'); } else{ res.status(404).send('ERROR. Please Go back and Order Again'); } }) }) });
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda