1

我在 PhoneGap 应用程序中使用 SQLite 数据库。我能够填充数据库,提取数据库并使用console.log

这是代码

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 页面上?

4

2 回答 2

3

如果我以正确的方式得到您的问题。假设您<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>")

这会将所有数据写入 html 页面中的 div 中。一个与您相似的简单示例:JSFIDDLE

于 2013-03-24T00:18:31.380 回答
2
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");}
}

您可以在 html 代码中定义 ID 为“divholderfordata”的“div”,就“UI”而言,此代码会更好地工作,因为它还包含“jquery-mobile”代码,希望对您有所帮助。

于 2013-05-13T15:24:59.903 回答