HTML 5 SQLite Offline DB - PullRequest
       2

HTML 5 SQLite Offline DB

0 голосов
/ 26 февраля 2011

Я работал над этим учебником: http://www.mobilehtml5.com/post/401111526/tutorial-your-first-mobile-html5-app-offline-storage

Я использовал его, чтобы создать простую БД для записи денег на игровых автоматах, с таблицей, в которой хранятся имя и суммакаждая из машин.

Моя проблема в том, что я понятия не имею, как лучше всего редактировать строки?html5rocks.com дал мне несколько идей, но ничего подходящего.

Может кто-нибудь поставить меня на правильный путь с этим?Я не знаю правильный подход, есть ли какой-то способ курсора типа сделать это?или у меня должен быть цикл для загрузки значений в поля формы ввода и последующего их обновления?

Любая помощь была бы блестящей, я включил код ниже, чтобы вы могли видеть, что я делаю.*

<!DOCTYPE html> 
<html>  
<head>
<title>Machine Total Calculator</title>
<script src="http://www.google.com/jsapi"></script>
<script>
  google.load("jquery", "1.4.1");
</script>
<script>

  var db = window.openDatabase("Machines", "", "Arcade Machines", 1024*1000);

 function insertMachine(name, amount) {
   db.transaction(function(tx) {
      tx.executeSql('INSERT INTO groupOne (name, amount) VALUES (?, ?)', [name,     amount]);
   });
  }

   function renderResults(tx, rs) {
    e = $('#status');
    e.html("");
    for(var i=0; i < rs.rows.length; i++) {
      r = rs.rows.item(i);
      e.html(e.html() + 'id: ' + r['id'] + ', Name: ' + r['name'] + ', Amount: ' +  r['amount'] + '<br>');
    }
  }


  function renderRecords(name) {
    db.transaction(function(tx) {

        tx.executeSql('SELECT * FROM groupOne', [], renderResults);

    });
  }


  $(document).ready(function() {
    db.transaction(function(tx) {
      tx.executeSql('CREATE TABLE IF NOT EXISTS groupOne(id INTEGER PRIMARY KEY, name  TEXT, amount DECIMAL)', []);
    });


$('#machine_form').submit(function() {
insertMachine($('#name').val(), $('#amount').val());

     renderRecords();
     return false;
});


renderRecords();
});
</script>
</head>
<body>
<form method="get" id="machine_form">
  <div>
    <input type="name" id="name" placeholder="Enter Machine Name" size="30"/>
    <input type="number" current id="amount" placeholder="Amount" name="amount"  size="15" />
    <input type="submit" value="Add Machines" />
  </div>
</form>
<div id="status">
</div>
</body>
</html> 

1 Ответ

0 голосов
/ 27 февраля 2011

Насколько я понимаю вашу проблему: вы должны использовать так же, как, например, в PHP + MySQL. Вы должны загрузить всю запись в значение INPUT по значению, запоминая идентификатор записи (например, в скрытом INPUT). В обработчике события onclick для некоторой кнопки UPDATE вы извлекаете эти значения, а также идентификатор и организует запрос SQL UPDATE («UPDATE groupOne SET name = ..., value = ... WHERE id = ...»)

Нет, в этом SQL нет «курсора». Просто запомните идентификатор записи и используйте его в предложении WHERE в UPDATE.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...