Как я могу создать сумму и отобразить ее из значения базы данных? - PullRequest
1 голос
/ 13 апреля 2020

Я использую базу данных Firebase. У меня есть значение i, отображаемое на моей странице, которое увеличивается и обновляется, что можно увидеть на веб-странице. Я также предопределил общее значение. Я хочу создать сумму, общее значение которой будет уменьшено на ранее упомянутое значение Dynami c. и отправлять пользователю предупреждение на веб-странице, когда он достигает 0.

Однако я не могу заставить это работать, вот что я пытался:

// here I  create the sum for the total amount
var total = 0;
function getData(){
    for (var i = 0; i < HoeveelheidArr.length; i++) { //my arrawy from user input which i extracted
       total += parseInt(HoeveelheidArr[i]);
    }
}

//here i push the values to my DB
function writeData(){
    firebase.database().ref("Exercise").set({
        totalReps: total,
        totalRepsLeft: progressLeft,
    });

    //Here I update the DYNAMIC value on my page it gets incremented by 1 by my arduino on an event. this works
    var progressList = document.getElementById("progressList");
    var wemosRep = function(element, value){
        element.textContent = value;
    }
    //get value from db and auto pass update if change in value
    var startWemosRep = firebase.database().ref('Reps/Value');
    startWemosRep.on('value', function(snapshot){
        wemosRep(progressList,snapshot.val());
    });

    //now the part that doesnt work... Just like before I try to first create the sum and then display it on my page if this value changed.
    progressLeft = parseInt( startWemosRep) - total  ; //this doesnt!

    var pageProgressLeft = document.getElementById("progressLeft");
    var repLeft = function (element, value){
        element.textContent = value;
    };

    var startTotalRep = firebase.database().ref('Exercise/progressLeft');
    startTotalRep.on('value', function(snapshot){
        repLeft(pageProgressLeft, snapshot.val());
    });
}


// I get the total value i pushed in my DB named totalGet!
function gotData(data){
  firebase.database().ref('Exercise').once('value').then (function(snapshot){
      var totalGet = snapshot.val().totalReps;
      document.getElementById("totalList").innerHTML=totalGet;

})

progressLeft переменная не возвращается, вот к чему она сводится. Он не отображается на моей странице, и я не знаю, работает ли он. Я перепробовал все на этом этапе, я не вижу конца туннеля. Надеюсь, вы поможете мне с этим.

...