problema query e javascript

  • Creatore Discussione Creatore Discussione ander
  • Data di inizio Data di inizio

ander

Nuovo Utente
26 Apr 2013
8
0
0
Ciao a tutti devo sommare il campo di una tabella e visualizzare il totale....non capisco dov'è il problema.
posto il codice:
Codice:
function ensureTableExists(tx){
                        tx.executeSql('CREATE TABLE IF NOT EXISTS Bilancio (id INTEGER PRIMARY KEY, data, entrate, uscite, riposo)');
                        
                        }
            /** Called when browser load this page*/
            function init(){
                document.addEventListener("deviceready", onDeviceReady, false);
            }
			
            var dataBox = null;
            var usciteBox = null;
            var db = null;
            var dataTable = null;
            /** Called when phonegap javascript is loaded */
            function onDeviceReady(){
                var addButton = document.getElementById("add");
                dataBox = document.getElementById("data");
                usciteBox = document.getElementById("uscite");
                dataTable = document.getElementById("data-table");
                                
                db = window.openDatabase("contactDB", "1.0", "Contact Database", 1000000);//name,version,display name, size
                addButton.addEventListener(
                                        "click",
                                        function(){
                                                
                                                db.transaction(
                                                        //function sql statements
                                                        function (tx){
                                                                ensureTableExists(tx);
                                                                var data = dataBox.value;
                                                                var uscite = usciteBox.value;
                                                                
                                               var sql = 'INSERT INTO Bilancio (data, uscite) VALUES ("'+data+'","'+uscite+'")';
                                                                tx.executeSql(sql);
                                                        
                                                        },
                                                        //error callback
                                                        function (err){
                                                                alert("error callback "+err.code);
                                                                
                                                        },
                                                        //success callback
                                                        function (err){
                                                                //alert("success callback "+err.code);
                                                                loadFromDB();
                                                        }
                                                        );
                                                
                                                
                        }, 
                                        false);
                               loadFromDB();
                
            }
            
                        function loadFromDB(){
                                
                                db.transaction(
                                                        //function sql statements
                                                        function (tx){
                                                                ensureTableExists(tx);
                                                                tx.executeSql('SELECT SUM(entrate) FROM Bilancio', 
                                                                                                [], 
                                                                                                function(tx, results){
                                                                  var htmlStr=""; 
                                                                  for(var index=0;index<results.rows.length;index++){
                                                                  var item = results.rows.item(index);
    htmlStr=htmlStr+"<tr><td>"+item.data+"</td><td>€"+item.uscite+"</td><td><button onclick=\"deleteEntry('"+item.id+"');\">X</button></td></tr>";
                                                                                                                
                                                                                                        }
                                                                                                        dataTable.innerHTML=htmlStr;
                                                                                                } 
                                                                                                ,
                                                                                                function(err){
                                                                                                        alert("Unable to fetch result from Bilancio Table");
                                                                                                }
                                                                                        );                                                                                              
                                                        
                                                        },
                                                        //error callback
                                                        function (err){
                                                                alert("error callback "+err.code+" "+err.message);
                                                                
                                                        },
                                                        //success callback
                                                        function (){
                                                                dataBox.value="";
                                                                usciteBox.value="";
                                                                
                                                        }
                                                        ); 
                                
                                 
                        }
                        
                        function deleteEntry(id){
                                db.transaction(
                                                        //function sql statements
                                                        function (tx){
                                                                ensureTableExists(tx);
                                                                tx.executeSql('Delete FROM Bilancio where id='+id);                                                                                             
                                                        
                                                        },
                                                        //error callback
                                                        function (err){
                                                                alert("error callback "+err.code+" "+err.message);
                                                                
                                                        },
                                                        //success callback
                                                        function (err){
                                                                //alert("success callback ");
                                                                loadFromDB();
                                                                
                                                        }
                                                        );
                                
                                 
                        }
 

Discussioni simili