Можем ли мы использовать локальную базу данных веб SQL с PHP?

Я создаю автономное приложение, используя локальную базу данных веб SQL с JavaScript.

Когда интернет не будет подключен, все записи будут вставлены в локальную базу данных веб-SQL.

Но когда я подключен к Интернету, локальная база данных веб-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?

1

Решение

Вы не можете получить доступ к локальной базе данных из PHP, вы можете использовать только JavaScript.

Я думаю, что вы храните общий элемент в локальной БД, или last_id всего элемента в локальной БД.

На загруженной странице, используя ajax для сравнения общего количества локальных и живых БД. Затем загрузите новый элемент из Live DB и вставьте в локальную базу данных. ИЛИ очистите все локальные БД и загрузите все элементы из БД Live.

Надеюсь помочь тебе!

0

Другие решения

Мои 2 цента: во-первых, API WebSQL устарел, тогда почему вы решили использовать его? Лучше использовать какой-нибудь адаптер, например LocalForage, YdnDB, Шезлонге и т.д., который будет скрывать базовый API базы данных (WebSQL или IndexedDB).
Спецификация IndexedDB заменила WebSQL.

0

По вопросам рекламы [email protected]