如何修复 "insert multiple times into mysql table with one query "
how to fix "insert multiple times into mysql table with one query "
$$(document).on('click', '#employee_table tr input[type="checkbox"] ', function() {
var row = $$(this).closest("tr")[0];
new_name = row.cells[1].innerHTML;
new_phone = row.cells[2].innerHTML;
new_order = row.cells[3].innerHTML;
juice_num1 = row.cells[4].innerHTML;
juice_num2 = row.cells[5].innerHTML;
juice_num3 = row.cells[6].innerHTML;
$$('#product_out')
$$('#product_out').on('click', function() {
var sqlpost = "INSERT IGNORE INTO customers_out (name, telephone, order_num, juice1_num, juice2_num, juice3_num) VALUES (' " + new_name + " ',' " + new_phone + " ' ,' " + new_order + " ',' " + juice_num1 + " ',' " + juice_num2 + " ',' " + juice_num3 + " ')";
connection.query(sqlpost, function(err, result) {
app.dialog.alert('Successfull insert!');
$$('input[type="checkbox"]').prop('checked', false);
app.views.main.router.updateCurrentUrl('/home_employee/')
});
})
});
当我按下产品输出按钮时,第一个数据正确插入customers_out。
但是当我选择另一个单元格并再次点击按钮时,它会插入多次
每次我select一个带有复选框
的新单元格时,它将保持时间 3、4、5、6 次
我检查了 phpmyadmin,除了第一个数据外,数据被多次提交
我希望它在我按下按钮时只插入数据库 1 次...
我认为问题出在 employee_table
点击功能上。
每次单击一个复选框时都会生成
$('#product_out').on('click', function() {
函数。
所以工作流程应该是这样的
点击product_out
按钮。
选中选中的行(仅1行)读取其值并保存数据。
重置所有选中的行。
$('#product_out').on('click', function() {
// Read first checked row
var row = $('#employee_table tr input[type="checkbox"]:checked').closest("tr")[0];
new_name = row.cells[1].innerHTML;
new_phone = row.cells[2].innerHTML;
new_order = row.cells[3].innerHTML;
juice_num1 = row.cells[4].innerHTML;
juice_num2 = row.cells[5].innerHTML;
juice_num3 = row.cells[6].innerHTML;
// add Detail to Database
var sqlpost = "INSERT IGNORE INTO customers_out (name, telephone, order_num, juice1_num, juice2_num, juice3_num) VALUES (' " + new_name + " ',' " + new_phone + " ' ,' " + new_order + " ',' " + juice_num1 + " ',' " + juice_num2 + " ',' " + juice_num3 + " ')";
connection.query(sqlpost, function(err, result) {
app.dialog.alert('Successfull insert!');
$$('input[type="checkbox"]').prop('checked', false);
app.views.main.router.updateCurrentUrl('/home_employee/')
});
// Reset all checkbox checked
$('#employee_table tr input[type="checkbox"]:checked').each(function() { this.checked = false; });
});
$$(document).on('click', '#employee_table tr input[type="checkbox"] ', function() {
var row = $$(this).closest("tr")[0];
new_name = row.cells[1].innerHTML;
new_phone = row.cells[2].innerHTML;
new_order = row.cells[3].innerHTML;
juice_num1 = row.cells[4].innerHTML;
juice_num2 = row.cells[5].innerHTML;
juice_num3 = row.cells[6].innerHTML;
$$('#product_out')
$$('#product_out').on('click', function() {
var sqlpost = "INSERT IGNORE INTO customers_out (name, telephone, order_num, juice1_num, juice2_num, juice3_num) VALUES (' " + new_name + " ',' " + new_phone + " ' ,' " + new_order + " ',' " + juice_num1 + " ',' " + juice_num2 + " ',' " + juice_num3 + " ')";
connection.query(sqlpost, function(err, result) {
app.dialog.alert('Successfull insert!');
$$('input[type="checkbox"]').prop('checked', false);
app.views.main.router.updateCurrentUrl('/home_employee/')
});
})
});
当我按下产品输出按钮时,第一个数据正确插入customers_out。
但是当我选择另一个单元格并再次点击按钮时,它会插入多次
每次我select一个带有复选框
的新单元格时,它将保持时间 3、4、5、6 次我检查了 phpmyadmin,除了第一个数据外,数据被多次提交
我希望它在我按下按钮时只插入数据库 1 次...
我认为问题出在 employee_table
点击功能上。
每次单击一个复选框时都会生成
$('#product_out').on('click', function() {
函数。
所以工作流程应该是这样的
点击product_out
按钮。
选中选中的行(仅1行)读取其值并保存数据。
重置所有选中的行。
$('#product_out').on('click', function() {
// Read first checked row
var row = $('#employee_table tr input[type="checkbox"]:checked').closest("tr")[0];
new_name = row.cells[1].innerHTML;
new_phone = row.cells[2].innerHTML;
new_order = row.cells[3].innerHTML;
juice_num1 = row.cells[4].innerHTML;
juice_num2 = row.cells[5].innerHTML;
juice_num3 = row.cells[6].innerHTML;
// add Detail to Database
var sqlpost = "INSERT IGNORE INTO customers_out (name, telephone, order_num, juice1_num, juice2_num, juice3_num) VALUES (' " + new_name + " ',' " + new_phone + " ' ,' " + new_order + " ',' " + juice_num1 + " ',' " + juice_num2 + " ',' " + juice_num3 + " ')";
connection.query(sqlpost, function(err, result) {
app.dialog.alert('Successfull insert!');
$$('input[type="checkbox"]').prop('checked', false);
app.views.main.router.updateCurrentUrl('/home_employee/')
});
// Reset all checkbox checked
$('#employee_table tr input[type="checkbox"]:checked').each(function() { this.checked = false; });
});