• Empleos
  • Sobre nosotros
  • Empleos
    • Inicio
    • Empleos
    • Cursos y retos
  • Empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Evaluaciones
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

241
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

over 3 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'); } }) }) });
over 3 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 Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda