javascript - 我们可以在 PHP 中使用 Web SQL 本地数据库吗?

标签 javascript php mysql cordova web-sql

我正在使用带有 JavaScript 的 Web SQL 本地数据库创建离线应用程序。

当那时没有连接互联网时,所有条目都将插入到本地数据库 web SQL 中。

但是当我连接到互联网时,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 加载新项目并插入到本地数据库。或者清除所有本地数据库并从实时数据库加载所有项目。

希望对你有帮助!

关于javascript - 我们可以在 PHP 中使用 Web SQL 本地数据库吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30230404/

相关文章:

javascript - 在 CodeMirror Textarea 的插入符号处插入文本

java - 在调用 Servlet 之前运行 Javascript 函数

javascript - FindAll 包含涉及复杂的多对(多对多)关系(sequelizejs)

php - 比较两个时间戳 Codeigniter

php - 使用我的 javascript/php 代码中的数据填充任何 url 的文本框

php - 使用 cron 作业在 mysql 中的一个查询中更新和选择

Mysql 包含字符串来获取列中的特定字符串

javascript - Electron 项目结构,在子目录下无法运行

PHPStorm - 如何设置实时编辑

mysql - 在 Ubuntu 16.04 上无法使用 docker 启动 mysql