[英]Can we use web SQL local database with PHP?
我正在使用帶有JavaScript的Web SQL本地數據庫創建一個脫機應用程序。
當那時Internet無法連接時,所有條目都將插入本地數據庫Web SQL中。
但是,當我連接到Internet時,Web SQL本地數據庫將與實時數據庫同步,並且將自動插入實時數據庫中不可用的本地數據庫新條目。
稍后,該應用程序將部署在Phonegap中。
這是本地數據庫的代碼(SQL事務)
打開數據庫:
var db = openDatabase('retaurant', '1.0', 'Test DB', 2 * 1024 * 1024);
新建表並將數據插入表:
var username = "Test";
var password = "test";
db.transaction(function (tx) {
tx.executeSql('CREATE TABLE IF NOT EXISTS user (id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT , username,password)');
tx.executeSql('INSERT INTO user (username,password) VALUES ("'+username+'","'+password+'")');
});
從數據庫中刪除條目
db.transaction(function (tx) {
tx.executeSql("DELETE FROM user WHERE id=?", [id],
function (tx, results) { });
});
此代碼是本地代碼,現在如何使用PHP將數據庫與實時數據庫同步?
您不能從PHP訪問本地數據庫,只能使用javascript。
我認為您將總項目存儲在本地數據庫中,或將所有項目的last_id存儲在本地數據庫中。
在頁面加載后,使用ajax比較本地數據庫和實時數據庫的總數。 然后從Live DB加載新項目並插入到本地DB。 或清除所有本地數據庫並從實時數據庫加載所有項目。
希望對你有幫助!
我的2分錢:首先,不贊成使用WebSQL API,然后為什么考慮使用相同的API? 最好使用某些適配器,例如LocalForage , YdnDB , LawnChair等,這些適配器將隱藏基礎數據庫API(WebSQL或IndexedDB)。 IndexedDB規范已取代WebSQL。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.