I want to insert a dataset into a local table (WEBSQL). The way I'm doing just inserts the last set of array, I wanted to store all the objects.
To create my WEBSql I created this JS:
(function(){
"use strict";
angular.module("nhaac").value("DBLocalAdBebidas",{
db:null,
localdb: function() {
this.db = window.openDatabase("NhaccDB", "1.0", "Banco Local", 2000);
this.db.transaction(function(res) {
res.executeSql("CREATE TABLE IF NOT EXISTS AD_BEBIDAS(nome_bebida_ad TEXT, valor TEXT, quantidade TEXT);", []);
});
}
})
})();
In my controller I call it like this:
// PEGA BEBIDAS SELECIONADAS
$scope.updateBebida = function(){
var p = [];
for (var i = 0; i < $scope.bebidasextras.length; i++) {
var item = $scope.bebidasextras[i];
console.log(item);
if ( item.selected) {
p.push(item )
}
}
$scope.selectedItems = p;
var item;
console.log('AQUI');
//aqui vai percorrer todo o conteudo da variavel p, poderia ate dar
//uma otimizada e deixar junto com o p.push(item), ai "economiza" um for
// for(var i in p){
// console.log('ENTROU NO FOR');
// item = p[i];
// console.log(item);
// var titulo = p.filter(function(e) {
// return e.titulo_promo == item.ad_bebida_titulo
// console.log('VAI IMPRIMIR o array');
// conlole.log(titulo);
// console.log('Pegou o array');
// })
// TESTA SE GUARDA A BEBIDA SELECIONADA
// INSERINDO DADOS LOCALMENTE
console.log('vai iniciar o localDB');
DBLocalAdBebidas.localdb();
console.log('Iniciou o localDB');
DBLocalAdBebidas.db.transaction(function(res) {
console.log('entrou na transação');
res.executeSql("INSERT INTO AD_BEBIDAS (nome_bebida_ad, valor, quantidade) VALUES(?,?,?);", [item.ad_bebida_titulo, item.ad_bebida_valor, item.ad_bebida_quantidade]);
});
}
//}
})
But it takes only the last data, I would like to get all the data and put a condition where the "item.ad_budget_quantity" field is > 0.
This is the dataset I want to store:
Any suggestions how to do it?