-1

I've created just a simple code to simulate a virtual store with HTML, Web SQL & Javascript language and my question is: Is it possible to get a variable or localStorage value to insert in a Web SQL code?

I just need to change the code number "100013" below by a variable or localStorage item.

var bdd = openDatabase("bdLojaVirtual", "2.0", "LojaVirtual", 2000000);
var mostrar;

var button = document.getElementById("pesquisar");
button.onclick = function consultarProduto() {
    var produto = document.getElementById("codigo").value;
    produto = produto;
    localStorage.setItem("Item selecionado", produto);
}

bdd.transaction(function (selecionar) {
    var produto = localStorage.getItem("Item selecionado");
    selecionar.executeSql ('SELECT nome FROM produto WHERE codigo = 100013', [], 
    function (selecionar, results) {
    var len = results.rows.length, i;
       for (i = 0; i < len; i++) {
           mostrar = "<p><b>" + results.rows.item(i).nome + "</b></p>";
           document.querySelector('#aqui').innerHTML += mostrar;
       }
     }, null);
 });

The whole project is at https://github.com/jmlJunior/portifolioPessoal

  • 1
    [You do know that WebSQL is being removed from Chrome](https://chromestatus.com/feature/5684870116278272), right? You need to switch to IndexedDB instead. – Dai Mar 08 '22 at 01:43
  • Thanks! My purpose is only to learn and training this subject for this reason I've used the WebSql. – Maurilio_Junior Mar 09 '22 at 00:25
  • 1
    Genuine question here, why learning something that's being removed? – Exitare Mar 09 '22 at 00:30

1 Answers1

0

After some research I got it: I've just replaced the code number "100013" by "?" and "[]" by "[produto]" and it works well.

bdd.transaction(function (selecionar) {
var produto = localStorage.getItem("Item selecionado");
selecionar.executeSql ('SELECT nome FROM produto WHERE codigo = ?', [produto], 
function (selecionar, results) {
var len = results.rows.length, i;
   for (i = 0; i < len; i++) {
       mostrar = "<p><b>" + results.rows.item(i).nome + "</b></p>";
       document.querySelector('#aqui').innerHTML += mostrar;
       }
    }, null);
});