Отображение результатов Sql в таблице HTML

#javascript #html #sqlite #cordova

#javascript #HTML #sqlite #кордова

Вопрос:

В настоящее время я использую phonegap и пытаюсь отобразить результаты из таблицы sqlite в таблицу html с помощью javascript. Что я должен сделать, чтобы это стало возможным?

     // callback function to retrieve the data from the prefs table
celebsDataHandler=function(transaction, results) {
  // Handle the results 
  var html = "<ul>"; 
  for (var i=0; i<results.rows.length; i  ) { 
    var row = results.rows.item(i); 
    html  = '<li>' row['name'] '</li>n';
  } 
  html  ='</ul>';
  alert(html);
}


// load the currently selected icons
loadCelebs = function() {
  try {

    mydb.transaction(
        function(transaction) {
           transaction.executeSql('SELECT * FROM celebs ORDER BY name',[], celebsDataHandler, errorHandler);
        });

  } catch(e) {
    alert(e.message);
  }
  

}

Из http://wiki .phonegap.com/w/page/16494756/Adding-SQL-Database-support-to-your-iPhone-App

таким образом, результирующим является celebsDataHandler. Как я могу манипулировать данными, хранящимися внутри, для отображения в таблице html (возможно, используя цикл for или ..?)?

Комментарии:

1. Я не работал в sqlite, но, возможно, смогу помочь. Что возвращает ваша функция?

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

Ответ №1:

Хорошо, тогда попробуйте использовать эту функцию:

 c3.table = function(data,target,className){
    if(typeof target != 'object'){
    return(null);
    }
    var table = document.createElement('table');
    if(typeof className != 'undefined'){
        table.setAttribute('className', className);
    }
    target.appendChild(table);
        var thead = document.createElement('thead');
        var tr = document.createElement('tr');
        thead.appendChild(tr)
        table.appendChild(thead);
        for (key in data[0]){
        if (data[0].hasOwnProperty(key)) {
            var th = document.createElement('th');
            th.innerHTML = key;
            tr.appendChild(th);
        }
        }
        for (row in data){
        var tbody = document.createElement('tbody');
        var tr = document.createElement('tr');
        tbody.appendChild(tr)
        table.appendChild(tbody);
        var currentRow = data[row];
        for (column in currentRow){
            if (currentRow.hasOwnProperty(column)){
            var td = document.createElement('td');
            td.column = column;
            td.innerHTML = currentRow[column];
            tr.appendChild(td);
            }
        }
        }
    }