I have Android apps that can save data database in a Google spreadsheet, and the data table looks like this:
And I have script update like this :
//Update
   if (e.parameter.func == "Update") {
    var sku = e.parameter.SKU;
    var exp = e.parameter.EXPIRED;
    var loc = e.parameter.LOCATION;
    var stat = e.parameter.STATUS;
    
    var lr= sh.getLastRow();
    for(var i=1;i<=lr;i++){
      var data_sku = sh.getRange(i, 1).getValue();
      if(data_sku==sku){
        sh.getRange(i, 2).setValue(exp);
        sh.getRange(i, 3).setValue(loc);
        sh.getRange(i, 4).setValue(stat);
        return ContentService.createTextOutput("Successfully Updated").setMimeType(ContentService.MimeType.TEXT);
        
      } 
    }
  }
But if I want to change the status of row 3 in the application, the only thing that changes is the first row:
I think I should give 3 parameter variables besides sku, but I don't know where to put them.
When I put code like this, its throws an error. Maybe anyone can help me?
//Update
   if (e.parameter.func == "Update") {
    var sku = e.parameter.SKU;
    var exp = e.parameter.EXPIRED;
    var loc = e.parameter.LOCATION;
    var stat = e.parameter.STATUS;
    
    var lr= sh.getLastRow();
    for(var i=1;i<=lr;i++){
      var data_sku = sh.getRange(i, 1).getValue();
      var data_exp = sh.getRange(i, 2).getValue();
      var data_loc = sh.getRange(i, 3).getValue();
      if(data_sku==sku and data_exp==exp and data_loc==loc){
        sh.getRange(i, 2).setValue(exp);
        sh.getRange(i, 3).setValue(loc);
        sh.getRange(i, 4).setValue(stat);
        return ContentService.createTextOutput("Successfully Updated").setMimeType(ContentService.MimeType.TEXT);
        
      } 
    }
  }


 
     
     
    