我正在使用产品设计工具“ Lumise”,该工具将来宾设计保存并上传到IndexedDB中。我想使用插入查询将保存在这些对象存储中的数据保存在MySQL表中。我已经创建了一个selectindexeddb.js文件和indexeddbtomysql.php文件,并且该工具已经有了一个文件,该文件创建了IndexedDB并对其进行了更新,名为“ app-uncompressed.js”。
我的问题是:我想使每个事务的循环都发生在设计中,以免创建,更新或删除如何从单独的js文件中进行处理。
提示:我试图在lumise js文件中编写此for循环,但它也显示了很多错误,因为此文件非常大。有帮助吗?
app-uncompressed.js:)
另一个提示:)
在此文件中,您可以专注于开始创建IndexedDB的12177行
selectindexeddb.js
var db;
var request = indexedDB.open("lumise");
var transaction = db.transaction(["designs"]);
var objectStore = transaction.objectStore("designs");
var request = objectStore.get("K730MRT0"); // this i want it to have it from app_uncompressed.js as a variable.
// i want to make the loop here ?!
request.onsuccess = function(event) {
// Do something with the request.result!
var designid = request.result.id;
var designname = request.result.name;
var designscreenshot = request.result.screenshot;
console.log("rsults is " + designid);
$.ajax({
url: 'indexeddbtomysql.php',
method: 'POST',
data: {design_id:designid ,design_name:designname,design_screenshot:designscreenshot },
success: function(data) {
alert("saved y marweta ;)")
}
});
};
indexeddbtomysql.php
<?php
session_start();
include '../config.php';
$design_id = $_POST['design_id'];
$design_name = $_POST['design_name'];
$design_screenshot = $_POST['design_screenshot'];
$query = 'INSERT INTO `user_designs`( `key`, `name`, `screnshot`) VALUES ($design_id
,$design_name , $design_screenshot);';
?>
更新后,我尝试将for循环放入app_uncompersed.js
,但没有用
save : function(ob, storeName, callback) {
if (this.db == null)
return callback(null);
var i ;
for (i = 0; i < count(rows); i++) {
var trans = this.db.transaction(ob.length === 2 ?
[storeName, 'dumb'] : [storeName], "readwrite");
var store = trans.objectStore(storeName);
if (ob.id === null || ob.id === undefined)
ob.id = parseInt(newDate().getTime()/1000)
.toString(36)+':'+Math.random().toString(36).substr(
2);
var obj = $.extend({
created: new Date().getTime()
}, (ob[0] !== undefined ? ob[0] : ob));
var process = store.put(obj, obj.id);
if (typeof callback == 'function')
process.onsuccess = callback;
console.log("ABC");
if (ob[1] !== undefined) {
var obj_dumb = $.extend({
id: obj.id,
created: obj.created
}, ob[1]);
trans.objectStore('dumb').put(obj_dumb, obj.id);
}
var designid = obj.id; //this var i want to save
}
},
我目前正在学习IndexedDB,并且发现此链接非常有用。其中有一个教程,涵盖了您要实现的目标。
https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API/Using_IndexedDB