Хорошо, у меня есть эта функция. что он должен делать, ища pid в sql и, если он найден, пропустить функцию и двигаться дальше, но я не думаю, что мой if statment работает правильно.
function getblogpost(div) {
var date = $(div).find('.time').text();
var user = $(div).find('.user').text();
var title = $(div).find('.title').text();
var textbody = $(div).find('.bodytext').text();
var postid = $(div).find('.pid').text();
var q = tx.executeSql("SELECT * FROM blogpost WHERE postid=" + postid,
[], function(transaction, result) {
var sqlpostid = result.rows.item(i)['postid'];
}, null);
if(result == NULL) {
return;
}
else {
dbsql.transaction(
function(transaction) {
transaction.executeSql(
'INSERT INTO blogpost (postid, date, user, title, textbody)
VALUES (?, ?, ?, ?, ?);',
[postid, date, user, title, textbody],
function() { },
errorHandler
);
}
);
return false;
}
}
Разве это не сработает?
Спасибо
Редактировать: function getblogpost (div) {...
Хорошо, у меня есть эта функция. что он должен делать, ища pid в sql и, если он найден, пропустить функцию и двигаться дальше, но я не думаю, что мой if statment работает правильно.
function getblogpost(div) {
var date = $(div).find('.time').text();
var user = $(div).find('.user').text();
var title = $(div).find('.title').text();
var textbody = $(div).find('.bodytext').text();
var postid = $(div).find('.pid').text();
var q = tx.executeSql("SELECT * FROM blogpost WHERE postid=" + postid,
[], function(transaction, result) {
var sqlpostid = result.rows.item(i)['postid'];
}, null);
if(result == NULL) {
return;
}
else {
dbsql.transaction(
function(transaction) {
transaction.executeSql(
'INSERT INTO blogpost (postid, date, user, title, textbody)
VALUES (?, ?, ?, ?, ?);',
[postid, date, user, title, textbody],
function() { },
errorHandler
);
}
);
return false;
}
}
Разве это не сработает?
Спасибо
Редактировать: function getblogpost (div) {...
Хорошо, у меня есть эта функция. что он должен делать, ища pid в sql и, если он найден, пропустить функцию и двигаться дальше, но я не думаю, что мой if statment работает правильно.
function getblogpost(div) {
var date = $(div).find('.time').text();
var user = $(div).find('.user').text();
var title = $(div).find('.title').text();
var textbody = $(div).find('.bodytext').text();
var postid = $(div).find('.pid').text();
var q = tx.executeSql("SELECT * FROM blogpost WHERE postid=" + postid,
[], function(transaction, result) {
var sqlpostid = result.rows.item(i)['postid'];
}, null);
if(result == NULL) {
return;
}
else {
dbsql.transaction(
function(transaction) {
transaction.executeSql(
'INSERT INTO blogpost (postid, date, user, title, textbody)
VALUES (?, ?, ?, ?, ?);',
[postid, date, user, title, textbody],
function() { },
errorHandler
);
}
);
return false;
}
}
Разве это не сработает?
Спасибо
Редактировать: что насчет этого.
function getblogpost(div) {
var postid = $(div).find('.pid').text();
var q = tx.executeSql("SELECT * FROM blogpost WHERE postid=" + postid, [], function(transaction));
if(!q) {
return false;
}
var date = $(div).find('.time').text();
var user = $(div).find('.user').text();
var title = $(div).find('.title').text();
var textbody = $(div).find('.bodytext').text();
dbsql.transaction(
function(transaction) {
transaction.executeSql(
'INSERT INTO blogpost (postid, date, user, title, textbody) VALUES (?, ?, ?, ?, ?);',
[postid, date, user, title, textbody],
function() { },
errorHandler
);
}
);
return false;
}
Здесь я пытаюсь выяснить, есть ли postid в базе данных, и если да, пропустить функцию и вернуться.
Ну, вам нужно определить NULL
где-то вроде
var NULL = null;
. Без этого NULL
не определено в ECMA- / Javascript.
В любом случае, зачем вам это делать? executeSql ()
принимает в качестве параметров два обратных вызова
. Второй - для случая ошибки
, который, вероятно, подходит лучше.
t.executeSql('SELECT Foobar FROM blogpost', [], function (t, r) {
// r.rows[1].Something
}, function (t, e) {
console.log(e.message);
});
Например.