I'm trying to make a JS function that counts rows in an SQLite table.
function countRows(){
db.transaction(function (tx){
tx.executeSql('SELECT id FROM table', [], function (tx, results) {
var len = results.rows.length;
alert(len);
});
});
}
The above code displays an alert with numbers of rows in the table. However, I'd like to make a function that would return the number instead of showing the alert box.
I tried:
function countRows(){
db.transaction(function (tx){
tx.executeSql('SELECT id FROM table', [], function (tx, results) {
var len = results.rows.length;
return len;
});
});
}
And then:
var number = countRows();
alert (number); // returns "undefined"
The above example returns "undefined", whereas a parallel example works fine:
function count(){
return 3;
}
var number = count();
alert (number); // returns 3
I want to assign the number to a variable, so I could then make another sql query, count rows in another table, and compare the two results.
In PHP this would be:
$sql1 = mysql_query('SELECT COUNT(*) FROM table1');
$rows1 = mysql_result($sql1, 0);
$sql2 = mysql_query('SELECT COUNT(*) FROM table2');
$rows2 = mysql_result($sql2, 0);
if ($row1>$row2){}