2013-03-24 5 views
1

Я использую базу данных SQLite в приложении PhoneGap. Я могу заполнить базу данных, извлечения базы данных, а также распечатать его с помощью console.logИзвлечение данных из базы данных SQLite от Phonegap

Вот код

function extractFromDB(){ 
    var db = window.openDatabase("hospitalsDB", "1.0", "HospitalsDB", false); 
    db.transaction(queryDB, errorCB); 
} 

    function queryDB(tx) { 
    tx.executeSql('SELECT * FROM hospitals', [], querySuccess, errorCB); 
} 

function querySuccess(tx, results) { 
    var len = results.rows.length; 
    console.log("DEMO table: " + len + " rows found."); 
    for (var i=0; i<len; i++){ 
      console.log("Row = " + i + " ID = " + results.rows.item(i).id + " Data = " + results.rows.item(i).data); 
     } 
} 

Мой вопрос, как я могу напечатать эти данные на страницу HTML?

ответ

3

Если я получить ваш вопрос прямо way.Assume у вас есть <div> в вашей HTML странице:

var resultDiv = $('#mydiv'); 
var data = undefined; 
for (var i=0; i<len; i++){ 
    data = "Row = " + i + " ID = " + results.rows.item(i).id + " Data = " + results.rows.item(i).data; 
    resultDiv.append(data + "<br>") 

Это будет записывать все данные в DIV в вашей HTML странице. Простой пример smilar к вашему один: JSFIDDLE

1
function querySuccess(tx, results) { 
    <!-- its good programming to check the length of rows returned by sqlite DB.--> 
    var htmlstring = ""; 
     if (results != null && results.rows != null && results.rows.length > 0) { 
       for (var i = 0;i <results.rows.length;i++) 
        { 
    htmlstring+= '<div class="ui-grid-a">'; 
      htmlstring += '<div class="ui-block-a">'+results.rows.item(i).id+'</div>'; 
      htmlstring+= '</div>'; 

        } 

$("#divholderfordata").empty().append(htmlstring).trigger('create'); 

      } 
    else 
{console.log("no records inserted in DB");} 
} 

, где вы можете определить «DIV» с идентификатором «divholderfordata» в вашем HTML код этот код будет работать лучше, насколько «UI» будет обеспокоен тем, что он также включает в себя " jquery-mobile "code надеюсь, что это вам поможет.

Смежные вопросы