HTML5/JqueryMobileは初めてです。私はこの関数を持っていますが、奇妙な理由で、Onclick()によって2回目に呼び出したときに結果が得られます。これが私のコードです:
function ListDBValues() {
if (!window.openDatabase) {
alert('Databases are not supported in this browser.');
return;
}
$('#lbUsers').html('');
db.transaction(function(transaction) {
transaction.executeSql('SELECT * FROM productos order by titulo;', [],
function(transaction, result) {
if (result != null && result.rows != null) {
for (var i = 0; i < result.rows.length; i++) {
var row = result.rows.item(i);
$('#lbUsers').append('<div id="producto"><img id="imgprod" width="100" src="images/' + row.foto +'">' + row.recid + '.' + row.titulo + '<br>$' + row.precio + ' MXP<br><input class="cuadro" type="button" id="cb.row" name="item" value="ORDENAR" onclick=AddValueToOrders(' + row.recid + ');></div>');
}
}
},errorHandler);
},errorHandler,nullHandler);
return;
}
これは2番目の関数です:
function AddValueToOrders(item) {
if (!window.openDatabase) {
alert('Databases are not supported in this browser.');
return;
}
msga = "El item es: "+ item ;
alert(msga);
db.transaction(function(tx) {
/// veo si ya existe /////
tx.executeSql('SELECT count(*) AS c FROM orders where prodid = '+ item +' ', [],
function (tx, result) {
totprod = result.rows.item(0).c;
//totprod = results.rows.item(0)['c'];
});
});
var themessage = "Total producto: ";
themessage = themessage + totprod ;
alert(themessage);
}
問題は、製品がOrdersテーブルにすでに存在するかどうかを知りたいので、同じコードの別の製品を挿入せずに更新できます。