Reputation: 143
I'm trying to loop through all of the tables in my Sqlite DB and send them to the server DB. Everything is working except when I get to the part where I send the information via a $.get() the tbl_name variable is already set to the last value... IE all of the $.get() calls use the same value for tbl_name, the last table name.
var submissionID=10;
var varStr;
DEMODB.transaction(function (transaction) {
transaction.executeSql("SELECT name FROM sqlite_master WHERE type='table';", [], function(transaction, results) {
for (var i = 0; i < results.rows.length; i++) {
var tables = results.rows.item(i);
var tbl_name=tables['name'];
if (tbl_name=="__WebKitDatabaseInfoTable__" || tbl_name=="Submission") { continue; }
transaction.executeSql("SELECT * FROM " + tbl_name + " WHERE submissionID=?;", [ID], function(transaction, results) {
varStr="";
for (var i = 0; i < results.rows.length; i++) {
var row = results.rows.item(i);
for (col in row) {
if (col=="submissionID" || col=="ID") { continue; }
varStr += col + "=" + row[col] + '&';
}
}
varStr += 'submissionID=' + submissionID + "&table=" + tbl_name + "&num=" + i;
$.get("script/to/process.aspx",varStr);
}, errorHandler);
}
}, errorHandler);
});
Upvotes: 2
Views: 909
Reputation: 13542
DEMODB.transaction(function (transaction) {
transaction.executeSql("SELECT name FROM sqlite_master WHERE type='table';", [], function(transaction, results) {
for (var i = 0; i < results.rows.length; i++) {
var tables = results.rows.item(i);
handleTable(tables['name'], transaction);
}
}, errorHandler);
});
function handleTable(tbl_name, transaction) {
if (tbl_name=="__WebKitDatabaseInfoTable__" || tbl_name=="Submission") { return; }
transaction.executeSql("SELECT * FROM " + tbl_name + " WHERE submissionID=?;", [ID], function(transaction, results) {
varStr="";
for (var i = 0; i < results.rows.length; i++) {
var row = results.rows.item(i);
for (col in row) {
if (col=="submissionID" || col=="ID") { continue; }
varStr += col + "=" + row[col] + '&';
}
}
varStr += 'submissionID=' + submissionID + "&table=" + tbl_name + "&num=" + i;
$.get("script/to/process.aspx",varStr);
}, errorHandler);
}
Upvotes: 1