Si se presiona el botón, primero debe obtener un valor de una instrucción SELECT SQL y usar el resultado para INSERT. tengo la variable global:
var CostperMovie;Esta es la función get que guarda el valor en CostperMovie:
const movienumber= req.body.movienumber; var sql = "SELECT costs FROM movieWHERE movienumber= ' " + movienumber+" ' "; connection.query(sql, (err, res)=>{ if(err)throw err; CostperMovie = JSON.parse(JSON.stringify(res[0].costs)); console.log(CostperMovie); });Estas son las variables que deben insertarse pero la variable CostperMovie permanece sin definir:
const clientID= req.body.clientID; const begin= req.body.begin; const end= req.body.end; const begin1= new Date(req.body.begin).valueOf(); const end1= new Date(req.body.end).valueOf(); const diff = Math.abs(rueckgabedatum1-ausleihdatum1); const diffDays = Math.ceil(diff / (1000*60*60*24)); const totalCosts= diffDays*CostperMovie;Este es el INSERT con las variables:
const sqlInsert = "INSERT INTO ausleihen (movienumber, clientID, begin, end,totalCosts) VALUES (?,?,?,?,?);"; connection.query(sqlInsert, [movienumber, clientID, begin, end,totalCosts], (err, result)=>{ console.log(err); });Entonces, ¿por qué la variable CostperMovie permanece indefinida o cómo puedo solucionarlo?
¿Qué se almacena en res[0].costs ? ¿Ves los datos reales que vienen en res ? ¿Es json válido? Además, probablemente, los datos que desea extraer del json simplemente no existen. Puede ser simplemente res.costs o res[0][0].costs etc.
o intenta algo como esto:
const result = JSON.parse(JSON.stringify(res)); CostperMovie = result[0].costs;