#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);
}
}
}
}